#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