하나의 Application에는 하나의 스토어가 존재해야 한다.
여러개의 스토어를 만드는게 불가능 하지 않지만
효율적인 스토어 관리를 위해서 하나의 스토어에서 상태를 관리하는 것이 좋다.
리덕스 스토어의 상태는 읽기 전용이다.
이 말은 스토어의 상태에 변화가 있을 때, 불변성을 유지해줘야 한다는 의미이다.
immer라이브러리 사용과 스프레드 연산자를 사용해 불변성을 유지해 줄 수 있다.
스토어의 상태를 변화시키는 리듀서 함수는 순수한 함수로 설계해야 한다.
순수 함수란?
- 파라미터로 이전 상태와 액션 객체를 받음
- 파라미터의 값에만 의존
- 불변성을 유지해 새로운 상태를 만들어야 함
- 같은 파라미터=> 같은 결과가 반환되어야 함
리듀서 함수에서 피해야 할 작업:- Date 함수를 사용한 시간 반환
- 네트워크 요청