Why

  1. props 를 사용하지 않고 모든 컴포넌트에서 state 를 가져다 쓸 수 있다

  2. state 관리가 용이하다

    컴포넌트가 100개 정도 있는 대규모 사이트를 생각해보자. redux 를 이용하지 않고 props 만 이용하여 컴포넌트 100 곳에서 장바구니 state를 수정하는 코드를 짰을 때, 중간에 state 하나에 이상한 값이 들어와서 버그가 생긴다면 어떡해야 하나. 버그 찾으려고 어딜 뒤져야 하나. 아마 장바구니 state 를 수정하는 100개의 컴포넌트를 다 뒤져야 할 것이다!

    근데 redux를 만들어 state 수정 방법을 미리 정해놓으면 위와 같은 버그가 발생하였을 때 redux안의 reducer 만 잘 들여다보면 된다. state 데이터가 어떻게 바뀌는지는 reducer에 전부 다 정의 되어있으니까 말이다.

How

  1. state 데이터의 수정 방법을 index.js에다가 미리 정의해놓는다 (일명 reducer)

  2. 원하는 곳에서 dispatch() 라는 함수를 써서 reducer에게 state 를 수정해달라고 요청 한다.

Leave a comment