【发布时间】:2022-01-05 18:40:34
【问题描述】:
用户切片
import { createSlice, createAsyncThunk } from "@reduxjs/toolkit";
import LoginService from "../../Services/Login.service";
export const userRegister = createAsyncThunk(
"users/register",
async (params) => {
try {
const { registerForm } = params;
const { data } = await LoginService.register(registerForm);
return data;
} catch (error) {
}
}
);
const initialState = {
userData: {},
errorResponse: null,
status: "idle",
};
export const userSlice = createSlice({
name: "User",
initialState,
reducers: {},
extraReducers: {
[userRegister.pending]: (state, action) => {
state.status = "loading";
},
[userRegister.fulfilled]: (state, action) => {
state.status = "succeeded";
state.userData = action.payload;
},
[userRegister.error]: (state, action) => {
state.status = "failed";
state.errorResponse = action.payload;
},
},
});
export default userSlice.reducer;
登录服务.js
import axios from "axios";
const API = axios.create({ baseURL: 'http://localhost:3001'});
const LoginService = {
register: async (registerData ) => {
await API.post('/users/register', registerData)
}
};
export default LoginService;
您好。我尝试在我的应用中添加注册功能。但是当我提交注册表时,数据会毫无问题地保存到数据库中。但是这条线const data = await LoginService.register(registerForm); 不工作数据是未定义的,但是当我在邮递员中发布相同的请求时,我会以我想要的方式获得响应数据。
【问题讨论】:
-
目前,您正在解构
register的返回值,提取可能未定义的data。您是否尝试过记录await LoginService.register(registerForm)返回的整个对象?
标签: javascript reactjs redux-thunk redux-toolkit