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

    避免在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. }