ReduxToolkit解决redux不能使用class创建对象

因为开发了个sdk插件需要一个全局管理,第一想的的是Redux去管理,但是使用new 创建的对象类无法使用且会报错,后续找到了解决方案;

报错:A non-serializable value was detected in the state

原因:一般来说,React 和 Redux 应用程序应该使用纯 JS 对象和数组作为数据来编写,要使用"模型类class{}"

项目中版本
"@reduxjs/toolkit": "^1.9.1",
"react-redux": "^8.0.5",
解决方案代码
middleware: getDefaultMiddleware =>
    getDefaultMiddleware({
      serializableCheck: false,
}),
实际使用
import { configureStore } from '@reduxjs/toolkit'
import { userSlice } from './slices/user';
//configureStore挂载每一个modules
const store = configureStore({
    reducer: {
      user: userSlice.reducer, //user module
    },
    // devTools: true,
    middleware: getDefaultMiddleware =>
      getDefaultMiddleware({
      serializableCheck: false,
    }),
});

//定义 ts types
export type RootState = ReturnType<typeof store.getState>;
export type AppDispatch = typeof store.dispatch;

export default store;

你可能感兴趣的:(react,typescript,javascript,react.js,前端)