Redux - store 存储

存储是 Redux 中的不可变对象树。 存储是保存应用程序状态的状态容器。 Redux 在您的应用程序中只能有一个存储。 每当在 Redux 中创建 store 时,您都需要指定化简器。

让我们看看如何使用 Redux 中的 createStore 方法创建存储。 需要从支持store创建过程的 Redux 库中导入 createStore 包,如下所示 −

import { createStore } from 'redux';
import reducer from './reducers/reducer'
const store = createStore(reducer);

createStore 函数可以有三个参数。 以下是语法 −

createStore(reducer, [preloadedState], [enhancer])

reducer 是一个返回应用程序下一个状态的函数。 preloadedState 是一个可选参数,是应用程序的初始状态。 增强器也是一个可选参数。 它将帮助您利用第三方功能增强store。

存储有以下三个重要方法 −

getState

它可以帮助您检索 Redux 存储的当前状态。

getState 的语法如下 −

store.getState()

dispatch

它允许您调度一个操作来更改应用程序中的状态。

调度的语法如下 −

store.dispatch({type:'ITEMS_REQUEST'})

subscribe

它可以帮助您注册 Redux 存储在分派操作时调用的回调。 一旦 Redux 状态更新,视图就会自动重新渲染。

调度的语法如下 −

store.subscribe(()=>{ console.log(store.getState());})

请注意,订阅函数返回一个用于取消订阅侦听器的函数。 要取消订阅侦听器,我们可以使用以下代码 −

const unsubscribe = store.subscribe(()=>{console.log(store.getState());});
unsubscribe();