redux-persist
redux-persist copied to clipboard
PersistGate Type error
Hi,
I'm using redux with immutable and redux-persist.
Works good and auto hydrate from the storage to redux store is working. But, when I try to include PersistGate I get this error.
<Provider store={store}>
<PersistGate loading={() => <div>LOADING...</div>} persistor={persistor}>
<RootComponent>
</PersistGate>
</Provider>
This is the persistor I set : {rehydrate: ƒ, pause: ƒ, resume: ƒ, purge: ƒ} Looks the interface is the same as in the documentation.
The error:
Uncaught TypeError: this.props.persistor.subscribe is not a function
at PersistGate.componentDidMount (react.js?e23e:53)
at commitLifeCycles (react-dom.development.js:8770)
at commitAllLifeCycles (react-dom.development.js:9946)
at HTMLUnknownElement.callCallback (react-dom.development.js:542)
at Object.invokeGuardedCallbackDev (react-dom.development.js:581)
at invokeGuardedCallback (react-dom.development.js:438)
at commitRoot (react-dom.development.js:10050)
at performWorkOnRoot (react-dom.development.js:11017)
at performWork (react-dom.development.js:10967)
at requestWork (react-dom.development.js:10878)
I tried to use PersistGate to solve this issue https://github.com/rt2zz/redux-persist/issues/732 and i got this error
Thanks,
The loading prop takes either null or a component.
Thanks @thenewt15, but already changed that, the error persist. Write a component or null don' t fix this issue.
Also note that the Uncaught TypeError expect a subscribe function, as the ".subscribe(listener)" that redux Store have. https://redux.js.org/api-reference/store Persistor do not have that function.
@diegolaciar it looks like you are using redux-persist v4, but somehow also getting PersistGate which is only available in (and compatible with) v5.
You can read about the upgrade here: https://github.com/rt2zz/redux-persist/blob/master/docs/MigrationGuide-v5.md
However please note there is no top level immutable support in v5. If you need top level immutable you will need to stick to v4 and not use PersistGate
I am experiencing the same issue as @diegolaciar.
Do you have a plan to support immutable in V5? Thanks to your awesome work : ) @rt2zz
I'm also experiencing this issue and am using redux-persist v5.0.7
I am also experiencing the same issue with [email protected]
idem [email protected]
same - [email protected]
same issue 5.10
same issue [email protected]
I solved the same problem this way: in store.js instead of
export default () => {
let store = createStore(persistedReducer)
let persistor = persistStore(store)
return { store, persistor }
}
use :
export let store = createStore(persistedReducer)
export let persistor= persistStore(store)