본문 바로가기

Frontend/리액트 React

Redux Reducer

state를 위한 단 하나의 store만 사용한다.

state를 직접 변경하지 않는다. 

state를 변경하기 위해서는 action을 dispatch(보내다)하여 상태값을 변경한다.

                                         (action: 어떤 변화가 일어나야 할 지 알려주는 객체)

이 과정에서 받아온 action객체를 처리하는 함수를 Reducer라고 부른다. action의 정보를 받고 애플리케이션의 상태를 어떻게 바꿀지 정의한다. 

 

Reducer는 '순수 함수'로만 작성되어야 한다.

- 외부 네트워크 혹은 데이터베이스에 접근하지 않아야 한다.

-  return값은 오직 parameter값에만 의존되어야 한다.

- 인수는 변경되지 않아야 한다.

- 같은 인수로 실행된 함수는 언제나 같은 결과를 반환해야 한다.

- 순수하지 않은 API호출을 하지 않아야 한다.(Date, Math 등)

 

ex) 순수함수가 아닌 예

let a = 10;

const add = (b) => {

 return a + b;

 

 

State나 Action을 변경하지 않아야 한다.