Преобразователь инструментария Redux исчезает после конфигурации getDefaultMiddlware
Мой магазин выглядит так:
export default configureStore({
reducer: {
sequencer: sequencerReducer,
editMode: editModeReducer,
tone: toneReducer,
app: appReducer,
},
middleware: (getDefaultMiddleware) => {
getDefaultMiddleware({ immutableCheck: false });
},
});
У меня был рабочий thunk, но мне нужно это
immutableCheck: false
config. После установки он, кажется, перезаписывает промежуточное ПО по умолчанию, и преобразователь больше не работает. Вот мой thunk:
export const modCell = (step, noteOn) => (dispatch, getState) => {
const selectedSound = getState().editMode.selectedSound;
dispatch(sequencerSlice.actions.toggleCell({ step, selectedSound }));
};
И вот ошибка, которую я получаю:
Error: Actions must be plain objects. Use custom middleware for async actions.
Есть идеи?
1 ответ
Решение
Я вижу проблему. Ваша функция ничего не возвращает . У тебя фигурные скобки с этим
middleware
стрелка, поэтому это тело функции без неявного возврата. Вам либо нужно добавить явный
return
или измените его на неявный возврат, удалив фигурные скобки. Итак, у вас вообще нет установки промежуточного программного обеспечения.
редактировать
Чтобы быть ясным, вы хотите:
export default configureStore({
reducer: {
sequencer: sequencerReducer,
editMode: editModeReducer,
tone: toneReducer,
app: appReducer,
},
middleware: (getDefaultMiddleware) => {
return getDefaultMiddleware({ immutableCheck: false });
},
});