-
reduxJavascript/React 2020. 3. 12. 22:43
■redux란?
- 복잡하지 않은, 예측 가능한, 중앙 집중적인 상태 저장소
■redux 구성 요소
store
은행(server)
action
입금하는 행위(http call)
dispatch
은행 창구 직원(front server)
reducer
창구 직원으로부터 전달받은 돈을 계좌에 넣는 직원(api server)
state
계좌(db)
■redux의 장단점 한눈에 보기
- redux를 안 썼을 때(컴포넌트가 추가될 때마다 2의 지수로 작업이 늘어남)
- redux를 썼을 때(컴포넌트가 추가될 때마다 2가지 경우만 추가)
■redux(store,reducer) 초기화
- store를 만들 때, 항상 reducer를 매개변수로 등록해줘야 한다.
- 그리고 reducer에서 return할 때, Object.assign({},state,{coloer:'red'})을 이용해서,
복제된 새로운 값이 state로 입력되도록 하자. 이렇게 immutable하게 객체(state)를
사용해야 객체 상태에 관련한 의도하지 않은 상황을 예방할 수 있다.
절대 원본을 수정하지 말고 복제해서 교체하자
- 배열을 복제할 땐, concat을 사용하면 편리하다
■getState
- store에 저장된 state값을 가져올 수 있는 함수.
가져온 state값을 render로 보내면 화면에 state값이 출력됨.
- subscribe를 사용하면 매번 getState를 하지 않고도 자동으로 render시킬 수 있다.
- store.getState 를 사용하여 state값을 가져올 수도 있지만 지양하자!
(코드가 지저분해지기도 하고, 자동으로 갱신되면 편하니) subscribe를 이용하자
■redux dev tool
- 마치 은행 창구 접수 내역같은 느낌 혹은 버전관리. 접수 내역을 다운받을 수도 있고
업로드해서 화면으로 볼 수도 있다...ㅎㄷㄷ
■redux reducer log
'Javascript > React' 카테고리의 다른 글
(class 스타일)ShouldComponentUpdate와 PureComponent 그리고 memo (0) 2020.03.09 react,redux 유용 플러그인 (0) 2020.03.08 webpack 사용해서 react 프로젝트 생성하기 (0) 2020.02.29 React focus (0) 2020.02.28 React 입문 (0) 2020.02.27 댓글