This is more likely a problem from redux-persist. redux-toolkit provide few default middleware within it’s getDefaultMiddleware
import { getDefaultMiddleware } from '@reduxjs/toolkit';
You can disable each middleware by providing false flag. To remove serializableCheck
const customizedMiddleware = getDefaultMiddleware({
serializableCheck: false
})
For details check redux-toolkit documentation.
[2021/10/07] edit:
To learn more about why this error happens, and why setting serializableCheck to false fixes it, read Working with Non-Serializable Data | Usage Guide redux toolkit docs.
Additionally, the getDefaultMiddleware export is being deprecated in favor of using a callback form. See Future planning: RTK 2.0? · Issue #958 · reduxjs/redux-toolkit and getDefaultMiddleware deprecated · Issue #1324 · reduxjs/redux-toolkit to learn more about why.
As to what it’s being replaced with, see the getDefaultMiddleware | Redux Toolkit documentation to learn more:
import { configureStore } from '@reduxjs/toolkit'
import rootReducer from './reducer'
const store = configureStore({
reducer: rootReducer,
middleware: (getDefaultMiddleware) => getDefaultMiddleware(),
})