react组件生命周期

组件的生命周期
组件创建阶段 (只执行一次)
componentWillMount() 还未渲染DOM
componentDidMount() 组件第一次渲染完成,dom节点已生成
组件运行阶段 (按需,根据props属性或state状态的改变,有选择性的执行0或多次)
componentWillReceiveProps (nextProps) 父组件修改属性时触发,可以修改新属性和状态
shouldComponentUpdate(nextProps,nextState) 返回false会阻止render调用
componentWillUpdate (nextProps,nextState) 不能修改属性和状态
componentDidUpdate(prevProps,prevState) 可以修改dom
组件销毁阶段 (只执行一次)
componentWillUnmount() 组件的卸载和数据销毁
(1)clear所有定时器
(2)移除组件中的监听事件
(3)有时候我们会碰到这个warning:

  Can only update a mounted or mounting component. This usually      means you called setState() on an unmounted component. This is a   no-op. Please check the code for the undefined component.
    原因:因为你在组件中的ajax请求返回setState,而你组件销毁的时候,请求还未完成,因此会报warning
    解决方法:
  componentDidMount() {
        this.isMount === true
        axios.post().then((res) => {
        this.isMount && this.setState({   // 增加条件ismount为true时
        aaa:res
        })
    })
    }
    componentWillUnmount() {
        this.isMount === false
    }
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值