Redux - 儲存
儲存器是 Redux 中不可變物件樹。儲存器是儲存應用程式狀態的狀態容器。在您的應用程式中,Redux 可能只有一個儲存器。無論何時在 Redux 中建立儲存器,您都需要指定歸約器。
讓我們看看如何使用 Redux 中的 createStore 方法建立儲存器。需要從支援建立儲存器過程的 Redux 庫匯入 createStore 包,如下所示 −
import { createStore } from 'redux';
import reducer from './reducers/reducer'
const store = createStore(reducer);
createStore 函式可以有三個引數。以下為語法 −
createStore(reducer, [preloadedState], [enhancer])
歸約器是返回應用程式的下一個狀態的函式。preloadedState 是一個可選項,並且是應用程式的初始狀態。強化器也是可選項。它將幫助您增強儲存器並使其具有第三方功能。
儲存器有以下三個重要方法 −
getState
它可以幫助您檢索 Redux 儲存器的當前狀態。
getState 語法如下 −
store.getState()
dispatch
它允許您分派操作來更改應用程式中的狀態。
dispatch 語法如下 −
store.dispatch({type:'ITEMS_REQUEST'})
subscribe
它可以幫助您註冊回撥函式,Redux 儲存器將在分派操作時呼叫該回調函式。一旦 Redux 狀態得到更新,檢視將自動重新呈現。
dispatch 語法如下 −
store.subscribe(()=>{ console.log(store.getState());})
請注意,subscribe 函式返回一個函式,用於取消訂閱監聽器。要取消訂閱監聽器,我們可以使用以下程式碼 −
const unsubscribe = store.subscribe(()=>{console.log(store.getState());});
unsubscribe();
廣告