강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

Bell Vise님의 프로필 이미지
Bell Vise

작성한 질문수

웹 게임을 만들며 배우는 React

클래스 메서드

e.preventDefault()

해결된 질문

작성

·

519

0

e.preventDefault() 함수의 역할은 잘 알고있습니다만

e.preventDefault()를 안썼을 때 setState가 작동되긴 하지만 그 결과가 떳다가 바로 사라지는 현상이 발생하는데

그 현상의 이유가 궁금합니다.

 

답변 1

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

어느 부분 코드에서 말씀하시는 건가요? 해당 부분 코드도 같이 올려주세요.

e.preventDefault()를 안 해서 페이지가 새로고침되는 것은 아닌가요?

Bell Vise님의 프로필 이미지
Bell Vise
질문자

아 떴다가 사라지는게 새로고침 때문인거였으려나요?

image

여기서 e.preventDefault를 안쓰게 되면 결과가 떴다가 바로 사라지는 현상이 발생하는데

e.preventDefault는 브라우저의 기본 작동 같은걸 막는다는걸로 알고있습니다.

e.preventDefault를 안쓰게 되면 왜 새로고침(?)이 발생하나요?

리액트는 SPA 방식이라 업데이트 되는부분이 있으면 렌더링 된 다음에 새로고침이 아니라 그 부분의 요소만 새로 렌더링하고 거기서 멈추면 되는거 아니였나요?

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

form 제출의 기본 동작은 화면 새로고침입니다. 리액트라고 다르지 않습니다.

Bell Vise님의 프로필 이미지
Bell Vise

작성한 질문수

질문하기