Chr*_*ard 2 reactjs react-native react-redux redux-persist
我得到的更具体的错误是:警告:道具类型失败:道具store在中标记为必需Provider,但其值为undefined。
store.js
const initialState = {};
const storage = createSensitiveStorage({
keychainService: "myKeychain",
sharedPreferencesName: "mySharedPrefs"
});
const config = {
key: "root",
storage,
};
const middleware = [thunk];
const reducer = persistCombineReducers(config, rootReducer);
export default () => {
let store = createStore(
reducer,
initialState,
compose(applyMiddleware(...middleware))
);
let persistor = persistStore(store);
return { store, persistor }
}
Run Code Online (Sandbox Code Playgroud)
用于减速器的index.js:
export default combineReducers({
profile: profileReducer,
auth: authReducer,
photoSlider,
trip: tripReducer,
moment: momentReducer
})
Run Code Online (Sandbox Code Playgroud)
App.js:
import {store, persistor} from './src/store';
<Provider store={store}>
<PersistGate loading={null} persistor={persistor}>
<Layout />
</PersistGate>
</Provider>
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激。
在store.js,你不出口store和persistor你导出函数,返回一个对象store和persistor。因此,您的import语句App.js实际上导入了两个不存在的命名导入。
您可以这样获取实例:
import factory from './src/store';
const {store, persistor} = factory();
<Provider store={store}>
<PersistGate loading={null} persistor={persistor}>
<Layout />
</PersistGate>
</Provider>
Run Code Online (Sandbox Code Playgroud)