1.자식컴포넌트 또는 형제컴포넌트 사이의 상태 이동은
부모컴포넌트 --> 형제컴포넌트
의 형태가 디폴트값이다.
2.state의 전달은 컴포넌트간 긴밀이 연결되어있다.
3.형제컴포넌트이 동일한 상태를 공유한다면, 상위컴포넌트에 상태가 위치해야한다.
(따라서, 최상위 컴포넌트에 수많은 상태가 존재하게 될 가능성 높음 : 적절하지 못함)
store
라는 공간을 마련하여 컴포넌트 외부에 상태를 위치시킨다.리액트 : setState
, 리덕스 : action객체
를 사용상태가 관리되는 유일한 공간 !
컴포넌트는 state에 접근해서 필요한 data를 가지고 오게됨
1. store에 data를 운반해준다.
2. `type`은 필수로 가진다.
1. current state와 action을 이용하여 new state를 생성하는 부분
2. action이 store에 data 전달할때 꼭 거쳐야 하는 곳.
3. 정교한 과정은 아래와 같아( dispatch가 추가됨)
-액션객체를 dispatch에 전달
-dispatch가 reducer를 호출한다.
-새로운 state 생성!
1. 브라우저에서 이벤트가 발생한다.
2. dispatch의 전달인자로 action 객체를 담아서
3. reducer 로 전달한다.
4. reducerㅇ는 action객체의 타입에 따라 특정행동을 수행
5. new state를 반환한다.