何处处理获取数据逻辑:componentWillMount vs componentDidMount
2018-02-28 09:38
543 查看
我们都很清楚,render不是一个很好的处理获取数据或者任何异步操作的位置,它在某种程度上会更改状态或者导致一些其他影响
componentWillMountReact会在组件第一次执行render方法前执行这个方法,乍一看它时处理获取数据逻辑的很完美的地方。但是我们一般都是通过异步请求API的方式来获取数据,这就意味着我们还没有获取到数据而render方法已经被执行了。我们没有办法暂停render的执行而依次来等待数据的到来。
componentDidMountcomponentDidMount实在render被执行之后执行的,实际上componentDidMount时最好的获取数据的位置。原因如下:
componentDidMount是在组件初始化后才被执行的,这就需要我们正确的初始化state.否则将会出错
如果你需要在服务器端渲染应用程序,componentWillMount将被调用两次。一次是在server端,一次在客户端,但这并不是你想要的结果而将数据加载逻辑放在componentDidMount将确保数据只从客户端获取
componentWillMountReact会在组件第一次执行render方法前执行这个方法,乍一看它时处理获取数据逻辑的很完美的地方。但是我们一般都是通过异步请求API的方式来获取数据,这就意味着我们还没有获取到数据而render方法已经被执行了。我们没有办法暂停render的执行而依次来等待数据的到来。
componentDidMountcomponentDidMount实在render被执行之后执行的,实际上componentDidMount时最好的获取数据的位置。原因如下:
componentDidMount是在组件初始化后才被执行的,这就需要我们正确的初始化state.否则将会出错
如果你需要在服务器端渲染应用程序,componentWillMount将被调用两次。一次是在server端,一次在客户端,但这并不是你想要的结果而将数据加载逻辑放在componentDidMount将确保数据只从客户端获取
相关文章推荐
- componentWillMount vs componentDidMount 那个生命周期方法更适合请求数据?
- React数据获取为什么一定要在componentDidMount里面调用?
- 利用PCL处理Realsense点云数据-在vs2015里用PCL获取Realsense点云数据
- 18.01.11,web学习第四十天,还有一年,努力吧青年 struts2第二天 action创建+result处理+获取数据方式
- 面试题:非阻塞tcp socket调用close时缓冲区未发送数据的处理逻辑
- C# 利用HttpWebRequest模拟登陆获取数据设置Accept-Encoding为gzip,deflate后返回的网页是乱码处理
- OO编程思想 业务的不要管UI的 业务的只需要处理 UI的只需要去获取数据就ok
- 关于在获取数据后对数据用forEach进行处理的认知
- [置顶] python语言处理get类型请求,调试模式获取数据代码
- VSTO/Excel: 获取Excel图表中的某个点的数据
- SQL SERVER 2008用Select操作处理数据(二)——查询语句的逻辑流
- 步步为营VS 2008 + .NET 3.5(13) - DLINQ(LINQ to SQL)之用户自定义函数、在不同的DataContext之间做更新、缓存、获取信息、数据加载选项和延迟加载
- Spark+Jupyter=在线文本数据处理逻辑测试平台
- xml数据的获取和处理
- Hadoop与分布式数据处理 Spark VS Hadoop有哪些异同点?
- Column注解的的RetentionPolicy的属性值是RUTIME,这样注解处理器可以通过反射,获取到该注解的属性值,从而去做一些运行时的逻辑处理
- 使用Ajax获取后台返回的Json数据后,页面处理
- Jquery 使用Ajax获取后台返回的Json数据后,页面处理
- [php] 获取serializeArray()提交的数据并处理
- xml数据的获取和处理