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();
广告