Reactjs 使用axios发送请求-返回-响应对象失败

Reactjs 使用axios发送请求-返回-响应对象失败,reactjs,react-redux,axios,Reactjs,React Redux,Axios,constrequestuserinfo=(状态={},操作)=>{ 开关(动作类型){ 案例“HEADER\u GET\u USERINFO”: axios.post('/user/getScores',qs.stringify({ 令牌:令牌, uid:uid })) 。然后(res=>{ 如果(res.data.status!==200){ message.error(res.data.message) 返回状态 } 返回{…res.data.attachment,…state} }) 打

constrequestuserinfo=(状态={},操作)=>{
开关(动作类型){
案例“HEADER\u GET\u USERINFO”:
axios.post('/user/getScores',qs.stringify({
令牌:令牌,
uid:uid
}))
。然后(res=>{
如果(res.data.status!==200){
message.error(res.data.message)
返回状态
}
返回{…res.data.attachment,…state}
})
打破
违约:
返回状态
}
}
//错误

未捕获错误:给定操作“HEADER\u GET\u USERINFO”,reducer“requestUserInfo”返回未定义。若要忽略某个操作,必须显式返回上一个状态。
应避免减速器内的副作用

正如官方Redux教程中提到的:

在减速器内不应执行的操作:

  • 改变其论点
  • 执行API调用和路由转换等副作用
  • 调用非纯函数,例如Date.now()或Math.random()
  • 您应该改为使用,它将执行API调用,并且至少可能调度一个应该处理传入数据的操作