react 生命周期函数在实际项目中分别会在哪些情况下使用?

componentWillMount()
componentDidMount()
componentWillUpdate(object nextProps, object nextState)
componentDidUpdate(object prevProps, object prevState)
componentWillUnmount()
componentWillReceiveProps(object nextProps)
shouldComponentUpdate(object nextProps, object nextState)

希望大家能不吝啬说一两点,我学习一下

阅读 1.2k
评论
    4 个回答
    • 120

    componentDidMount
    常用来在组件加载完毕后 网络请求数据是使用
    componentWillUnmount
    组件死的时候调用,一般用来清除监听之类的
    componentWillReceiveProps
    传入新的props是调用

    其它的几个我用的就不是太多了,这些生命周期用的最多的地方一般都是传参时使用比较多

      这个问题,官网应该讲的比较清楚吧

        在react里面的defaultValue是在首次加载的时候就显示的,但是一般defaultValue都是在网络请求中获取的,这个时候页面早就应该有渲染了。所以我一般在获取到网络数据后,在componentDidUpdate里给它加默认值。

        一般在componentWillUnmount比较多的清除定时器啥的。

        别的有想到再来补充=。=

          • 846

          componentWillMount()
          组件第一次加载前的方法 组件的内部初始化
          componentDidMount()
          组件加载完毕后可能需要拉取第一次数据 可以在这里发送请求
          componentWillUpdate(object nextProps, object nextState)
          组件即将开始更新之前调用的方法,可以针对某个状态或者props修改了分别去做出不同的操作
          componentDidUpdate(object prevProps, object prevState)
          这个就是组件更新完成后调用的方法,用的比较少,一般我会拿来去做状态对比进行 debug。。= =
          componentWillUnmount()
          组件卸载之后调用的方法,一般就是清除监听
          componentWillReceiveProps(object nextProps)
          用来去接受新的props后,去更新组件状态,比如子组件的ajax请求中需要的一个参数是父组件的props,这时候如果父组件的props发送变化了 ,你想要子组件也能够实时的发生变化,那么就可以在这个方法里面去利用nextProps去发送ajax请求,更新数据
          shouldComponentUpdate(object nextProps, object nextState)
          一般用来控制这个组件是否进行更新,比如在有的state改变了之后你不想让组件重新渲染,就可以在这个方法里面进行return false去阻止更新

            撰写回答

            登录后参与交流、获取后续更新提醒