react生命周期总结

2022-11-24  本文已影响0人  朱朱是个小太阳

React的生命周期从广义上分为三个阶段:挂载、渲染、卸载

挂载:在组件实例被创建并插入到dom中时,生命周期调用顺序如下

constructor(数据的初始化常用)

componentWillMount(在挂载之前也就是render之前被调用)

getDerivedStateFromProps(从props获取state)render(class组件中唯一必须实现的方法)(render函数会插入jsx生成的dom结构,react会生成一份虚拟dom树,在每一次组件更新时,在此react会通过其diff算法比较更新前后的新旧DOM树,比较以后,找到最小的有差异的DOM节点,并重新渲染。)

componentDidMount(在组件挂在后(插入到dom树中)后立即调用)(可以在这里调用Ajax请求,返回的数据可以通过setState使组件重新渲染,或者添加订阅,但是要在conponentWillUnmount中取消订阅)

更新:当组件的 props 或 state 发生变化时会触发更新。(正在被重新渲染)

componentWillReceiveProps ()(在已挂载的组件接收新的props之前调用)

shouldComponentUpdate(在渲染之前被调用,默认返回为true。)

componentWillUpdate(当组件接收到新的props和state会在渲染前调用,初始渲染不会调用该方法。)

getSnapshotBeforeUpdate(在最后一次渲染(提交到dom节点)之前调用)

componentDidUpdate(在更新之后立即调用,首次渲染不会调用,之后每次重新渲染都会被调用)卸载:当组件从 DOM中移除时会调用如下方法(已经移出真实dom):

componentWillUnmount()(在组件卸载和销毁之前调用)

新增:getDerivedStateFromProps(nextProps, prevState)          getSnapshotBeforeUpdate(prevProps, prevState)

上一篇下一篇

猜你喜欢

热点阅读