Вы не можете вызывать store.getState() во время выполнения редуктора…(Это не связано с расширением redux-devtools)

#javascript #reactjs #redux #react-redux #redux-toolkit

#javascript #reactjs #redux #реагировать-redux #redux-toolkit

Вопрос:

LoginModal.jsx

 import ...

  const [burgerAnimation, setBurgerAnimation] = useState(false);
  const handleBurgerAnimation = () => {
    setBurgerAnimation(!burgerAnimation);
  };
 

userSlice.js

 import { createSlice, createAsyncThunk } from "@reduxjs/toolkit";
import LoginService from "../../Services/Login.service";

export const userSubmit = createAsyncThunk("user/submit", async (params) => {
  try {
    const { submitFunc, submitForm, dispatch, closeModal, navigate, handleBurgerAnimation } = params;
    const { data } = await submitFunc(submitForm);
    dispatch(handleError(null)); // clear error message after
    closeModal();
    navigate("/");

    return {data, handleBurgerAnimation};
  } catch (error) {
    const { dispatch } = params;
    const errorMessage = error.response.data.message;
    dispatch(handleError(errorMessage));
    dispatch(handleStatus("idle"))
  }
});

export const userLogout = createAsyncThunk(...);

export const userRefreshAccessToken = createAsyncThunk(...);

const initialState = {
  userData: {},
  errorResponse: null,
  status: "idle",
};

export const userSlice = createSlice({
  name: "user",
  initialState,
  reducers: {...},
  extraReducers: {
    [userSubmit.pending]: (state, action) => {...},
    [userSubmit.fulfilled]: (state, action) => {

      const {data, handleBurgerAnimation} = action.payload;
      if (data) {
        state.status = "succeeded";
        state.userData = data;
        localStorage.setItem("user", JSON.stringify(action.payload));
        handleBurgerAnimation();
      }
    },
    [userSubmit.error]: (state, action) => {...},
    [userRefreshAccessToken.fulfilled]: (state, action) => {...}
  },
});

export ...
 

Привет всем.Я пытаюсь закрыть меню навигационной панели в мобильном Интернете при входе пользователя в систему, но когда я пытаюсь это сделать, я получаю эту ошибку.Если я не использую handleBurgerAnimation функцию в [userSubmit.fulfilled] , я не получаю эту ошибку.По какой причине я не могу использовать handleBurgerAnimation функцию в extrareducer? Наконец, я был бы признателен, если бы вы могли оставить отзыв о моем проекте.
Репо: https://github.com/UmutPalabiyik/mook