У меня есть crud-приложение в ReactJS, которое использует redux-persist и работает без ошибок в Chrome. Постоянная версия с избыточностью — v6.
Когда я запускаю приложение в Firefox 78.0.2, консоль возвращает следующую ошибку:
> redux-persist failed to create sync storage. falling back to noop storage.
Я использовал localStorage в своем app.js, но удалил и перестроил приложение: без вызова localStorage в Firefox приложение создается, но не сохраняется. В обоих случаях в Chrome нет проблем.
Я нашел несколько ответов для React-native, но пока не нашел тему для ReactJS.
Кто-нибудь здесь сталкивался с такой же проблемой?
вот мой код:
Пакет.JSON:
"devDependencies": {
...
},
"dependencies": {
"react": "^16.13.1",
"react-dom": "^16.13.1",
"react-redux": "^7.2.0",
"react-uid": "^2.3.0",
"redux": "^4.0.5",
"redux-persist": "^6.0.0"
},
"browserslist": [
...
]
}
Индекс.HTML:
import React from 'react';
import ReactDOM from 'react-dom';
import { persistStore } from 'redux-persist';
import { PersistGate } from 'redux-persist/lib/integration/react';
import { Provider } from 'react-redux';
import { configureStore } from './store';
import App from './App.js';
const store = configureStore();
const persistor = persistStore(store);
ReactDOM.render(
<Provider store={store}>
<PersistGate
loading={<div>Loading app..</div>}
persistor={persistor}>
<App />
</PersistGate>
</Provider>,
document.querySelector('#root'),
);
Магазин.JS:
import { createStore, combineReducers } from 'redux';
import { persistReducer } from 'redux-persist';
import storage from 'redux-persist/lib/storage';
import autoMergeLevel2 from 'redux-persist/lib/stateReconciler/autoMergeLevel2';
import { articles } from './services/actionReducer';
const reducers = {
articles,
};
const persistConfig = {
key: 'root',
storage,
stateReconciler: autoMergeLevel2,
}
const rootReducer = combineReducers(reducers);
const persistedReducer = persistReducer(persistConfig, rootReducer);
export const configureStore = () => createStore(
persistedReducer,
window.__REDUX_DEVTOOLS_EXTENSION__ &&
window.__REDUX_DEVTOOLS_EXTENSION__(),
);