useState의 불편함
컴포넌트에서 컴포넌트로 State를 보내기위해서는 반드시 부모-자식 관계가 되어야 한다.
조부모 컴포넌트에서 손자 컴포넌트로 값을 보내고자 할때도 반드시 부모 컴포넌트를 거쳐야만 한다. 즉, 정작 부모컴포넌트에서는 그 값이 필요가 없어도 단순히 손자 컴포넌트에게 전달하기 위해 불필요하게 거쳐야만 하는 것을 의미* (조부모 → 부모 → 손자)
자식 컴포넌트에서 부모 컴포넌트로 값을 보낼 수 없다.
Global state와 Local state
Local state (지역상태) 란?
Global state (전역상태)란?
중앙 State 관리소
를 가지고 있으며, 모든 State는 이곳에서 생성된다. yarn add redux react-redux
보통 모듈은 기능의 이름을 따서 파일을 생성한다.
모듈의 구성요소로는 initialState
, Reducer
가 있다.
모듈을 만들면, 스토어에 연결을 해야만 한다. 그리고 연결은 configStore.js
에서 한다.
컴포넌트에서 Store를 조회할 때는 useSelector
를 사용해야 한다.
useSelector((state)⇒state)
에서 state
는 모든 모듈의 state 를 조회할 수 있는 값이다.
리듀서가 액션객체를 받아 상태를 바꾸는 원리
액션객체를 만드는 함수를 Action Creator
(액션 크리에이터)라고 한다.
Action Creator
는 모듈 파일안에서 생성된다.
액션객체의 type value로 상수로 생성해서 관리한다.
Action Creator
를 사용하면, 여러가지 문제점을 해소할 수 있다.