首页 > 解决方案 > 登录错误:错误:不可草拟值上的大小写缩减程序不得返回未定义

问题描述

在我的 userSlice.js 文件中,我有以下代码。当我调试 loginStart 减速器时,它会跳转到 loginError

编辑:有时有效,有时无效,我不知道为什么

import { createSlice } from '@reduxjs/toolkit'
import Cookies from 'js-cookie';

const userSlice = createSlice({
    name: 'user',
    initialState: {
      userInfo: null,
      loginPending: false,
      loginError: false,
      isLoggedIn: false,
      token: '',
    },
    reducers: {
        loginStart: (state) => {
            state.loginPending = true;
        },
        loginSuccess: (state, action) => {
            state.loginPending = false;
            state.userInfo = action.payload.dashboardUser;
            state.token = action.payload.token;
            state.isLoggedIn = true;
        },
        loginError: (state) => {
            state.loginError = true;
            state.loginPending = false;
        },
        logout: async (state) => {
            state.token = '';
            state.isLoggedIn = false;
            state.userInfo = null;
        }
    },
});

export const { loginStart, loginSuccess, loginError, logout } = userSlice.actions;
export default userSlice.reducer;

这是登录功能:

export const login = async (email, password, dispatch) => {
    try {
        dispatch(loginStart());
        const res = await axios.post(`${process.env.REACT_APP_SERVER}/api/auth/login`, {
            email: email,
            password: password,
        });
        dispatch(loginSuccess(res.data));
    } catch (err) {
        dispatch(loginError());
    }
}

并且登录 api 调用正在工作。所以问题不存在。感谢大家的帮助

标签: reactjsreduxreact-reduxredux-toolkit

解决方案


我看到你错误的网址:process.env.REACT_APP_SERVER}/api//auth/login。所以axios不能发布数据,它会跳转到loginError.

更新您的网址:

process.env.REACT_APP_SERVER}/api/auth/login

推荐阅读