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

在react中 在setState方法的回调函数中能否再次调用setState方法?

在react中 在setState方法的回调函数中能否再次调用setState方法?

大话西游666 2019-03-14 18:19:58
在componentWillMount中请求数据后,将拿到的数据setState操作后,在setState回调中能否再用state中的参数发起ajax请求后再将拿回的数据setStatecomponentWillMount(){let appId = this.GetQueryString('appId')let language = this.GetQueryString('language')axios.post('/api/language/findAll').then(res=>{  console.log('0000')  for(let i=0;i<res.length;i++){    if(res[i].en==language){      this.setState({        language:res[i].pid,        appId:appId      },()=>{        this.queryConfig()      })    }  }})}queryConfig(){let params={  appId:this.state.appId,  lang:this.state.language}axios.post('/api/spirit/config',params).then(res=>{    console.log('第二个请求')    this.setState({      custom:res.spirit.custom,      recommend:res.spirit.recommend,      strategy:res.spirit.strategy,    },()=>{console.log('第二次渲染')})})};
查看完整描述

1 回答

?
手掌心

TA贡献1942条经验 获得超3个赞

可以, 完全没问题.

在 render 中调用 setState 才会有问题.


查看完整回答
反对 回复 2019-04-09
  • 1 回答
  • 0 关注
  • 1548 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号