react-native - 在 4.0.0 版本中无法调用 getState
问题描述
我已将我的商店定义如下(文件 store.js):
import { createStore } from 'redux';
import { persistStore, persistReducer } from 'redux-persist';
import AsyncStorage from 'react-native';
import rootReducer from './reducers';
const persistConfig = {
key: 'root',
storage: AsyncStorage,
}
const persistedReducer = persistReducer(persistConfig, rootReducer)
let store = createStore(persistedReducer);
let persistor = persistStore(store);
export default {store, persistor};
我在其他地方使用这家商店。
import {store} from './store';
const mykey = store.getState().mykey ;
它有问题,但在 3.7.2 版本中运行良好。我阅读了 4.0.0 版的文档,其中描述了:
如果在调度时调用 getState、subscribe 或 unsubscribe,则抛出。
如何在其他地方获得商店的价值?
解决方案
store.getState()
减速器禁止调用。更多细节在这里。从动作创建者那里, getState 应该可以工作。
推荐阅读
- python - 如何使用 webhook 将人员添加到 Google 群聊
- javascript - 将多个样式元素与样式组件相结合
- java - Maven 部署到 Google Cloud。appengine:deploy 是否执行完整的清理/构建?
- ios - 在 iOS 12 之前通过 idevicediagnostics.exe 运行时,“AppleARMPMUCharger”不再导出电池信息/诊断
- python - 图像中的颜色边缘检测
- javascript - 日期未在数据库中保存正确的值
- sql - 试图获取非对象的属性(查看:C:\xampp\htdocs\MyP\resources\views\pekerja\index.blade.php)
- regex - RegEx for Positive Lookahead - 密码规则(包含所需的数字和字符)
- reactjs - 如何使用 redux-observable 在一个史诗中发出多个动作?
- akka - 如何解决 Akka 无法获取心跳时出现的问题?