-
Redux - createStoreRedux/Basic 2021. 12. 31. 13:00
createStore(reducer, [preloadedState], [enhancer])
- 저장소(store) 생성
- App에는 하나의 저장소(store)만 있어야 한다.
Arguments
- reducer (Function): 현재 상태 트리와 수행할 액션이 주어지면, 다음 상태 트리를 반환해주는 함수
- [preloadedState] (any)
- 초기 상태
- 선택적으로 범용적인 앱의 서버에서 상태를 수화하거나 이전에 직렬화된 사용자 세션을 복원하도록 지정할 수 있다.
- combineReducers로 reducer를 생성한 경우, 전달된 key와 동일한 형태의 일반 객체여야만 한다.
- [enhancer] (Function)
- 미들웨어, 시간 여행, 지속성 등과 같은 third-party 기능으로 저장소를 향상시키기 위해 선택적으로 지정할 수 있다.
- Redux와 함께 제공되는 유일한 저장소 enhancer는 applyMiddleware() 이다.
Returns
(Store): App의 전체 상태를 보유하는 객체이다. 상태를 변경하는 유일한 방법은 액션(Action)을 전달(dispatch)하는 것이다.
상태 변경 사항을 구독하여 UI를 업데이트 할 수도 있다.Example
import { createStore } from 'redux' function todos(state = [], action) { switch (action.type) { case 'ADD_TODO': return state.concat([action.text]) default: return state } } const store = createStore(todos, ['Use Redux']) store.dispatch({ type: 'ADD_TODO', text: 'Read the docs' }) console.log(store.getState()) // [ 'Use Redux', 'Read the docs' ]
Store Console
[ 참고자료 ]
'Redux > Basic' 카테고리의 다른 글
Redux - Store (0) 2022.01.01 Redux - Reducer (0) 2021.06.17 Redux - Action (0) 2021.06.17