我初学就试着实现一个登陆组件<SignControl>
{this.state.showSign?<div>登陆</div>:<div>用户名<div/>}
</SignControl>大概结构就是这样的。。。实际肯定复杂一些我现在this.state.showSign在getInitialState里默认是true的在componentWillMount中会发一个ajax给服务器问有没有session,并且返回用户名,如果有就this.setState({showSign:false})但是ajax是异步的,每次我都渲染完了ajax才异步执行,状态栏就永远显示登陆按钮而不是用户名请问这个问题怎么解决,我对react的生命周期函数的理解太浅,都是瞎用的,所有有没有更好的做法?求各位指点!谢谢!
1 回答

一只甜甜圈
TA贡献1836条经验 获得超5个赞
试一下~
componentDidMount(){ var _this = this; $.ajax({ url: url, success: function(rs){ if(rs.isLogin){ _this.setState({showSign:false}); } } }) }
添加回答
举报
0/150
提交
取消