Javascript 反应重复持续

Javascript 反应重复持续,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

我刚开始使用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 
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'))
)