【发布时间】:2022-01-26 13:26:00
【问题描述】:
可以知道为什么我在reducer 状态下用Object Object 代替了error Message。我需要得到 {error : "ce Message......"} 代替消息中的 "object Object"
描述注册过程中动作的动作函数
function register(user) {
return dispatch => {
dispatch(request(user));
userService.UserRegister(user)
.then(
user => {
dispatch(success());
history.push('/login');
dispatch(alertActions.success(user.data.toString()));
}, error => {
console.log(error);
dispatch(failure(error.toString()));
dispatch(alertActions.error(error.toString()));
}
);
};
function request(user) {
return {
type: userConstants.REGISTER_REQUEST,
user
}
}
function success(user) {
return {
type: userConstants.REGISTER_SUCCESS,
user
}
}
function failure(error) {
return {
type: userConstants.REGISTER_FAILURE,
error
}
}
}
我的减速器
// reducer.js here
import { userConstants } from '../utils/constants';
export function authentication(state = {}, action) {
switch (action.type) {
case userConstants.LOGIN_REQUEST:
return {
loggingIn: true,
user: action.user
};
case userConstants.LOGIN_SUCCESS:
return {
loggedIn: true,
user: action.user
};
case userConstants.LOGIN_FAILURE:
return {};
case userConstants.REGISTER_FAILURE:
return {};
case userConstants.LOGOUT:
return {
loggedIn: false,
user: action.user
};
default:
return state
}
}
【问题讨论】:
-
添加你的 reducer 和 action 函数
-
@Lemayzeur 这里有一些代码提前谢谢
标签: reactjs react-redux reduce