reducer, action 이 보통 길어질 확률이 높기 때문에 파일/폴더로 나눠주는 것이 좋다.combineReducer로 reducer분리하기redux가 제공하는 combineReducers를 사용한다.userReducer와 combineReducer 2개가 있는 상황을 가정해본다.
[useReducer.js]
const initialState = {
...중략...
}
const userReducer = (prevState= initialState, action) =>{
...중략...
}
export default userReducer
[postReducer.js]
const initialState = {
...중략...
}
const postReducer= (prevState = initialState, action) =>{
...중략...
}
export default postReducer
[postReducer.js]
import useReducer from "./useReducer"
import postReducer from "./postReducer"
combineReducers({
user: useReducer,
posts: postReduer
})
export default combineReducers
user:userReducer 에서 user 가리키는 것은?
prevState.user와 같이 사용하였다. 그런데 이제 user라고 확정하면서 prevState만 사용해도 자동으로 prevState.user를 가리키게 되었다.project
├── reducers
│ ├── userReducer.js
│ ├── postReducer.js
│ └── index.js
├── actions
│ ├── login.js
│ └── logout.js
└── index.js