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

react和reudx ,我应该在哪初始化组件的数据?

react和reudx ,我应该在哪初始化组件的数据?

回首忆惘然 2019-05-13 11:06:07
我有个组件是通过state更新ui的,但是它的数据需要异步请求获取,我在哪去发送这个请求比较好?reducer创建的时候?异步请求貌似不行吧redux的容器层?(connect)如果放在这我如何在或获取数据后更新state?组件的生命周期?componentWillMount不行,它只执行一次,下次想更新没法componentWillUpdate我当前做法是放在这,但是容易造成死循环
查看完整描述

2 回答

?
RISEBY

TA贡献1856条经验 获得超5个赞

componentWillReceiveProps(nextProps){
if(nextProps.someReducer!==this.props.someReducer){
this.setState({
a:reducer.a,
},()=>{
dispatch(someAction());
});
}
}
如果初始化时也需要的话,那么需要提供一个而外的函数,并且在componentDidMount和componentWillReceiveProps同时处理
someLogicMethod(props){
//todo
}
componentWillReceiveProps(nextProps){
if(nextProps.someReducer!==this.props.someReducer){
this.someLogicMethod(nextProps);
}
}
componentDidMount(){
this.someLogicMethod(this.props);
}
                            
查看完整回答
反对 回复 2019-05-13
  • 2 回答
  • 0 关注
  • 410 浏览
慕课专栏
更多

添加回答

举报

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