일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
Tags
- 성분
- C++
- algorithmStudy
- 재테크
- 투자
- 독후감
- Java
- algorithmTest
- 지혜를가진흑곰
- 돈
- 자바스크립트
- 백준알고리즘
- algorithmtraining
- 프로그래밍언어
- 다독
- 독서
- JavaScript
- 채권
- 알고리즘트레이닝
- 책을알려주는남자
- 알고리즘공부
- 주식
- 프로그래머스 알고리즘 공부
- 자바
- 경제
- 화장품
- 알고리즘 공부
- 서평
- 책알남
- C
Archives
- Today
- Total
탁월함은 어떻게 나오는가?
react redux state 초기화 본문
반응형
redux의 sate 초기화
redux를 사용하다보면 state가 초기화 되는 경우가 있다. react에서 버튼을 클릭시 다른페이지로 이동할 경우, a tag를 흔하게 사용한다.
state초기화 되는 이유
a태그를 사용하면 라우트를 이동시 redux의 전역 state가 모두 초기화 된다.
그 이유는 a 태그의 기본 속성은 페이지를 이동시키면서, 페이지를 새로 불러온다. 그렇게 되면서 react 앱이 지닌 상태도 초기화 되기 때문입니다.
초기화를 방지하는 방법
react에서 페이지를 이동시킬 때 react-router-dom 의 Link 컴포넌트를 사용하면 된다.
Link 컴포넌트는 브라우저 주소만 바꾸고, 페이지를 새로고침 하지 않기 때문에 react 앱의 state를 초기화 하지 않는다. 클릭을 이용해 이동할 때는 Link 컴포넌트를 사용하고, 함수내에서 페이지를 이동할 때는 useHistory안의 history 객체를 사용하면 된다.
** useHistory는 react-router-dom 의 v5에 새로 도입된 문법이다.
결론
a태그 : 외부홈페이지로 이동할때만 사용하자
Link 태그 : 그 외 상황에서 사용하자
반응형
'[Snow-ball]front > REACT 리액트' 카테고리의 다른 글
React - virtual DOM이란 (0) | 2021.07.07 |
---|---|
[React] 클래스형(Class) 컴포넌트와 함수(Funtion)컴포넌트 차이점 (0) | 2021.07.03 |
리덕스(Redux의 간단한 개념정리) (0) | 2021.04.20 |
[React] const { value, name } = e.target; 에서 value가 사용되지 않을 때 (0) | 2021.04.03 |
[React] state / useState / useEffect (0) | 2021.04.03 |
Comments