有没有办法只在 redux 中将一个 reducer 的 serializableCheck 设置为 false?
Is there a way to set the serializableCheck to false for one reducer only in redux?
目前我已经在我的 store.js 中禁用了 serializableCheck 并且它可以工作,但是我更愿意我只能将它设置为 false 特别是对于一个 reducer,并保持它对所有休息。
export const store = configureStore({
reducer: {
app: appReducer,
settings: settingsReducer,
admin: adminReducer,
popout: popoutReducer,
},
middleware: getDefaultMiddleware({
serializableCheck: false,
}),
});
我知道禁用此检查可能会在将来导致问题,我只有一个减速器我希望禁用此检查。
根据 https://redux-toolkit.js.org/api/serializabilityMiddleware 的文档,您应该能够使用 ignoredPaths
选项来提供要在状态中忽略的键路径字符串:
configureStore({
reducer: rootReducer,
middleware: (getDefaultMiddleware) => getDefaultMiddleware({
serializableCheck: {
ignoredPaths: ['someSlice.nested.field']
}
})
})
也就是说,我仍然建议寻找在状态中存储可序列化值的方法。
目前我已经在我的 store.js 中禁用了 serializableCheck 并且它可以工作,但是我更愿意我只能将它设置为 false 特别是对于一个 reducer,并保持它对所有休息。
export const store = configureStore({
reducer: {
app: appReducer,
settings: settingsReducer,
admin: adminReducer,
popout: popoutReducer,
},
middleware: getDefaultMiddleware({
serializableCheck: false,
}),
});
我知道禁用此检查可能会在将来导致问题,我只有一个减速器我希望禁用此检查。
根据 https://redux-toolkit.js.org/api/serializabilityMiddleware 的文档,您应该能够使用 ignoredPaths
选项来提供要在状态中忽略的键路径字符串:
configureStore({
reducer: rootReducer,
middleware: (getDefaultMiddleware) => getDefaultMiddleware({
serializableCheck: {
ignoredPaths: ['someSlice.nested.field']
}
})
})
也就是说,我仍然建议寻找在状态中存储可序列化值的方法。