Javascript 反应重复持续
我刚开始使用Redux Persist,由于某些原因,我无法让它工作。 (无法读取未定义错误的属性“subscribe”) Persistor.jsJavascript 反应重复持续,javascript,reactjs,redux,middleware,redux-persist,Javascript,Reactjs,Redux,Middleware,Redux Persist,我刚开始使用Redux Persist,由于某些原因,我无法让它工作。 (无法读取未定义错误的属性“subscribe”) Persistor.js import { createStore } from 'redux' import { persistStore, persistReducer } from 'redux-persist' import store from 'redux-persist/es/storage/session' // defaults to localStor
import { createStore } from 'redux'
import { persistStore, persistReducer } from 'redux-persist'
import store from 'redux-persist/es/storage/session' // defaults to
localStorage for web and AsyncStorage for react-native
import rootReducer from './reducers'
const persistConfig = {
key: 'root',
storage: store,
}
const persistedReducer = persistReducer(persistConfig, rootReducer)
export default () => {
let store = createStore(persistedReducer)
let persistor = persistStore(store)
return { store: store, persistor: persistor }
}
index.js
import React from 'react';
import App from './components/App/App';
// import registerServiceWorker from './registerServiceWorker';
import { render } from 'react-dom'
import { createStore } from 'redux'
import { Provider } from 'react-redux'
import { PersistGate } from 'redux-persist/integration/react'
import persistor from './Persistor'
import rootReducer from './reducers'
import 'bootstrap/dist/css/bootstrap.min.css'
import './index.css'
render(
<Provider store={persistor.persistor}>
<PersistGate loading={null} persistor={persistor.store}>
<App />
</PersistGate>
</Provider>,
document.getElementById('root')
)
从“React”导入React;
从“./components/App/App”导入应用程序;
//从“./registerServiceWorker”导入registerServiceWorker;
从'react dom'导入{render}
从“redux”导入{createStore}
从“react redux”导入{Provider}
从“redux persist/integration/react”导入{PersistGate}
从“/persistor”导入persistor
从“./reducers”导入rootReducer
导入“bootstrap/dist/css/bootstrap.min.css”
导入“./index.css”
渲染(
,
document.getElementById('root'))
)
在正常的Redux中,其工作正常。但是,当我尝试切换Persist Redux时,我发现上面写的错误。您在索引中导入的persistor值不是对象。它是一个函数,返回一个包含store和persistor的对象 实例化persistor函数,然后将分配给store in Provider的值与persistor in persistgate交换 将导入重命名为类似configureStore的名称以防止任何冲突
const { store, persistor } = configureStore()
render(
<Provider store={store}>
<PersistGate loading={null} persistor={persistor}>
<App />
</PersistGate>
</Provider>,
document.getElementById('root')
)
const{store,persistor}=configureStore()
渲染(
,
document.getElementById('root'))
)