Преобразователь инструментария Redux исчезает после конфигурации getDefaultMiddlware

Мой магазин выглядит так:

      export default configureStore({
  reducer: {
    sequencer: sequencerReducer,
    editMode: editModeReducer,
    tone: toneReducer,
    app: appReducer,
  },
  middleware: (getDefaultMiddleware) => {
    getDefaultMiddleware({ immutableCheck: false });
  },
});

У меня был рабочий thunk, но мне нужно это immutableCheck: falseconfig. После установки он, кажется, перезаписывает промежуточное ПО по умолчанию, и преобразователь больше не работает. Вот мой 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 });
  },
});
Другие вопросы по тегам