我遇到问题,使用 axios post 方法时无法在 action.payload.data 中获取数据。
在注册页面上,我在提交表单时触发操作
onSubmit(props) {
this.props.signUpUser(props)
.then(() => {
this.context.router.push('/');
});
}
在操作文件中
export function signUpUser(props) {
console.log("props", props);
const request = axios({
url: 'http://localhost:3000/api/users',
method: 'post',
data: props
})
当我console.log它显示的 Prop 时
props Object {username: "11", email: "1", password: "1", passwordConfirmation: "1"}
但是当我控制台将其记录在 reducer 上时。 我在 object.config.adapter 中获取数据,而不是 object.data。
export default function(state = INITIAL_STATE, action) {
switch(action.type) {
case SIGN_UP_USER:
console.log(action.payload);
return action.payload.data;
default:
return state;
}
}
当我检查数据库时,我可以看到数据运行良好,但不知道为什么当我调用 Payload.data 时会得到空数组。我的目标是将注册用户的信息存储到reducer,以便我在他们注册后显示他们的信息。
请您参考如下方法:
您确定您的 API 正在返回任何数据吗?在我看来,您的代码按预期工作,但您的 API 没有返回任何数据。我不认为这是一个 React/Redux 问题。
您所指的data
对象, {用户名:“11”,电子邮件:“1”,密码:“1”,密码确认:“1”}
是 API 帖子正文中的数据。
您应该查看您的 API/用户 Controller ,了解它为何不在响应中返回数据。