避免在componentWillMount()中使用进行setState操作.

componentWillMount() 在组件将要挂载时被立即调用. 这个调用发生在render()函数执行之前, 所以如果在componentWillMount里面设置了state, 这个设置的state是不会触发重新渲染的.
同样我们也需要注意不要在componentWillMount()中引入其他可能会导致问题的代码.

如果你有类似的需求, 请在componentDidMount里面完成.

  1. function componentDidMount() {
  2. axios.get(`api/messages`)
  3. .then((result) => {
  4. const messages = result.data
  5. console.log("COMPONENT WILL Mount messages : ", messages);
  6. this.setState({
  7. messages: [...messages.content]
  8. })
  9. })
  10. }