Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 항해99후기
- 항해99추천
- 날씨 api
- 탐욕알고리즘
- 알고리즘
- 배열 메소드
- db수정
- 동전 0
- JavaScript
- server component
- greedy
- 클라이언트 컴포넌트
- 실전프로젝트
- 자바스크립트
- NextJS v13
- 중복카테고리
- 중복선택
- 항해99솔직후기
- 부트캠프항해
- jQuery
- react
- 프로그래머스
- 로딩 후 실행
- 서버 컴포넌트
- 배열 중복 제거
- 카테고리필터
- 백준
- 항해99
- 그리디
- 숫자를 별점으로
Archives
- Today
- Total
공부 및 일상기록
[Javascript] event.preventDefault() 본문
preventDefault
a 태그나 submit태그를 누르게 되면 하이퍼링크를 타고 이동하거나 창이 새로고침되어 실행된다.
이때 event.preventDefault()를 이용하여 이러한 현상을 막을 수 있다.
React에서 onChange로 값을 받고 state에 상태를 저장하려고 하는 경우,
만약 onClick이 아닌 onSubmit 형태로 제출된다면 페이지가 새로고침되어 다시 초기화 될 것이다.
//TodoList 만들던 코드 일부 발췌...
const onSubmitHandler = (event) => {
event.preventDefault();
if (todo.title.trim() === "" || todo.body.trim() === "") return;
setTodos([...todos, { ...todo, id: number }]);
setTodo(initialState);
number++;
};
만약 event.preventDefault()를 사용하지 않았더라면 setTodos로 todos에 인풋값 넣은과 동시에 화면이 새로고침되어 다시 원래상태로 돌아가게 된다. 하지만 event.preventDefault()를 사용하면 submit은 작동되지만 새로 실행하는 역할은 하지 않게 된다.
'개발 > Javascript' 카테고리의 다른 글
[TIL] [Javascript] session storage에 객체 저장하고 꺼내기 (0) | 2022.10.25 |
---|---|
[Javascript] 유사배열과 배열 (0) | 2022.10.05 |
[Javascript] 배열 메소드 정리 (2) | 2022.09.28 |
[Javascript] 배열 중복 제거하는 방법 (0) | 2022.09.27 |
[Javascript] 9월 27일 TIL - toUpperCase(), toLowerCase() sort() (0) | 2022.09.27 |