为了账号安全,请及时绑定邮箱和手机立即绑定

redux 中一个 action 依赖另一个 action 异步获取的数据怎么做

redux 中一个 action 依赖另一个 action 异步获取的数据怎么做

慕姐4208626 2019-05-24 18:43:38
exportfunctiongetUserInfo(username:string,password:string){return(dispatch:any)=>{returnfetchUser(username,password).then(res=>{dispatch({type:GET_USER_INFO,userInfo:res})}).catch(err=>{console.log(err)})}}exportfunctiongetStars(username:string,password:string){return(dispatch:any,getState:any)=>{consturl=getState().urlfetchStars(url,username,password).then(res=>{dispatch({type:GET_STARS,stars:res})}).catch(err=>{console.log(err)})}}其中getStars依赖getUserInfo返回的数据,但是我不想把getStars放进getUserInfo的then方法中,那样就把两个action揉到一起了,想问问大家有没有什么好的解决方案。
查看完整描述

2 回答

?
DIEA

TA贡献1820条经验 获得超2个赞

可以把这个过程看做组件更新的过程。state初始状态{url:'XXX',username:'',password:''},组件最开始用这个初始状态会渲染一次,当登录验证成功后,username,password会更新状态,组件的componentWillReceiveProps(nextProps)会被调用,在其中比较nextProps.username、nextProps.password和this.props.username、this.props.password是否发生了改变,发生改变说明user发生变化,再dispatchgetStars这个action完成更新。
                            
查看完整回答
反对 回复 2019-05-24
  • 2 回答
  • 0 关注
  • 867 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信