为什么React获取数据是在componentDidMount

373 阅读1分钟

用于获取数据的代码可以写在componentWillMount或者componentDidMouont中。

前者会在组件首次渲染前触发,后者则是在组件挂载后立即触发。

使用前者似乎是正确的做法,毕竟我们希望尽快的加载数据,不过需要注意一点。

实际上,服务端和客户端渲染都会触发componentWillMount函数。

当在服务端渲染组件时,触发异步API会带来预料之外的结果。

因此,我们只能用componentDidMount周期函数,这样就能确保只在浏览器端调用API请求。