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

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

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

阅读 3.3k
4 个回答

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

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

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

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

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

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

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去阻止更新

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题