Redux/Basic

Redux - Reducer

고코모옹 2021. 6. 17. 19:19

 

- 리덕스의 리듀서란?

  • 액션을 주면 그 액션에 따라 결과를 만들어 주는 함수
  • Pure Function
    • 같은 Input을 받으면 같은 결과를 반환하는 함수
  • Immutable
    • 리듀서를 통해 State가 변경되었음을 리덕스가 인지하는 방식
  • 액션을 받아서 State를 return 하는 구조
  • 인자로 들어오는 previousState와 return 되는 newState는 다른 참조를 가지도록 해야함
function reducer(previousState, action) {
     return newState; 
}
import { ADD_TODO } from './actions';

const initialState = [];

function todoApp(previousState = initialState, action) {
  if (action.type === ADD_TODO) {
    return [...previousState, action.todo];
  }

  return previousState;
}