TypeError: Невозможно прочитать свойство 'subscribe' из неопределенного PersistGate.componentDidMount - PullRequest
0 голосов
/ 04 марта 2020

Я добавляю Redux в мое приложение для локального хранилища. Я полагаю, что следил за реализацией правильно, и я продолжаю получать сообщение об ошибке:

Невозможно прочитать свойство «подписка» на неопределенный TypeError: PersistGate.componentDidMount node_modules / redux-persist / es / интеграции / реагировать. js: 76

Вот мой код.

store. js

import { createStore, applyMiddleware } from 'redux';
import { persistStore } from 'redux-persist';
import logger from 'redux-logger';

import rootReducer from './root.reducer';

const middlewares = [logger];

export const store = createStore(rootReducer, applyMiddleware(...middlewares));

export const persistor = persistStore(store);

export default { store, persistor };

root .reducer. js

import { combineReducers } from 'redux';
import { persistReducer } from 'redux-persist';
import storage from 'redux-persist/lib/storage';

import userReducer from './user/user.reducer';
import cartReducer from './cart/cart.reducer';


const persistConfig = {
    key: 'root',
    storage,
    whitelist: ['cart']
}

const rootReducer = combineReducers({
    user: userReducer,
    cart: cartReducer
});


export default persistReducer(persistConfig, rootReducer);

index. js

import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import {BrowserRouter} from 'react-router-dom';
import App from './App';
import { Provider } from 'react-redux';
import { PersistGate } from 'redux-persist/integration/react';

import Store from './redux/store';
ReactDOM.render(
    <Provider store={Store.store}>

        <BrowserRouter> 
            <PersistGate persistor={Store.persistor} />
                <App />
            <PersistGate/>
        </BrowserRouter>
    </Provider>,
    document.getElementById('root')
);

1 Ответ

0 голосов
/ 05 марта 2020

Синтаксис в индексе отключен. js Оболочка PersisGate.

Правильный синтаксис:

<PersistGate persistor={Store.persistor}>
     <App />
</PersistGate>
...