# createReducer

react-redux 의 createAction, createReducer, createSlice 사용법
createAction(링크)공식문서 세부설명 자료(링크) 좀더 자세한 다른분의 최신 설명 자료 링크(클릭) import { createAction } from '@reduxjs/toolkit'; > 기존함수 > createAction을 이용한 변경된 코드 액션 함수를 지우고 간결화 하고 > payload 를 리듀서 함수에 넣는다. 각각 text:action.text 였지만 text 를빼고 payload 변경 action.id => action.payload action 은 function 인 creacteAction 함수로 만들어진다 createReducer

🎈Redux + React(with Redux Toolkit)
📃 store.js 📌 createAction + createReducer 📋 Memo Redux Toolkit을 사용하면 state를 mutate해도 된다. immer.js와 같이 작동하기 때문이다. createReducer을 할 때에는 2가지 옵션이 있다. 새로운 state를 return할 수 있다 => [{ text: action.payload, id: Date.now() }, ...state] state 자체를 mutate할 수 있다. => state.push({ text: action.payload, id: Date.now() }) 하지만 내부적으로 1번과 같은 작업이 이루어지고 있다. 📌 createSlice 📋 Memo createSlice()는 internally createAction, createReducer을 사용한다. reducers: {}

createReducer
redux redux toolkit createReducer의 장점은 기본 default 값을 정해줄 수 있다는 것이다. 함수에서 첫번째 파라미터 값이 default 값으로써 빈 배열을 지정해줄 수 있다. 기존 글에서 절대 mutate를 하면 안된다고 하였지만 createReducer 같은 경우에는 가능하다. immer 라는 라이브러리가 뒤에서 자동으로 state를 mutate 해도 return 해주는 역할을 한다.
리덕스+리액트 Redux with React #5 createReducer()
리덕스 툴킷 문서-createReducer createReducer() 리듀서를 작성하다보면 switch 문으로 작성하게 되는데 createRedicer()는 switch문 보다 더 단순한 구조로 리듀서를 작성하도록 도와주는 함수다.