您的位置:首页 > 其它

何处处理获取数据逻辑:componentWillMount vs componentDidMount

2018-02-28 09:38 543 查看
我们都很清楚,render不是一个很好的处理获取数据或者任何异步操作的位置,它在某种程度上会更改状态或者导致一些其他影响
componentWillMountReact会在组件第一次执行render方法前执行这个方法,乍一看它时处理获取数据逻辑的很完美的地方。但是我们一般都是通过异步请求API的方式来获取数据,这就意味着我们还没有获取到数据而render方法已经被执行了。我们没有办法暂停render的执行而依次来等待数据的到来。
componentDidMountcomponentDidMount实在render被执行之后执行的,实际上componentDidMount时最好的获取数据的位置。原因如下:

componentDidMount是在组件初始化后才被执行的,这就需要我们正确的初始化state.否则将会出错
如果你需要在服务器端渲染应用程序,componentWillMount将被调用两次。一次是在server端,一次在客户端,但这并不是你想要的结果而将数据加载逻辑放在componentDidMount将确保数据只从客户端获取
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐