美文网首页
React生命周期

React生命周期

作者: 紫灬楓 | 来源:发表于2018-05-11 14:41 被阅读10次

初始渲染阶段

当组件开始开始生命进入组件,调用以下生命周期方法:

1,getDefaultProps

此方法允许我们指定 this.props 的默认值,它在组件被调用或者父组件传递任何属性进来之前被调用。

2,getInitialState

此方法允许我们指定组件在创建前 this.state 的默认值,它也是在组件被创建前被调用。

3,componentWillMount

此方法是是组件被渲染到DOM之前最后调用的一个方法,需要注意的是,在这个方法中调用setState,组件是不会重新渲染的。

4,render

很熟悉的方法了,每个组件必须定义有这个方法,它负责返回单个HTML根节点,如果我们不想渲染任何东西,那么返回 null 或者 false 即可。

5,componentDidMount

此方法是在组件渲染到DOM后才会被调用,在这个点上,我们可以安全的执行任何 DOM 查询操作,而不用担心组件是否被创建。

更新阶段

处理状态改变

当状态发生改变时,调用以下生命周期方法:

1,shouldComponentUpdate

如果一个状态改变了,我们不想更新组件,此方法就可以让我们控制更新行为。如果想更新,返回 true 值,否则返回 false 即可。以下示例:

shouldComponentUpdate: function(newProps, newState) { 
if (newState.id <= 2) { 
console.log("Component should update!"); 
return true;
 } else { 
console.log("Component should not update!"); 
return false; 
  } 
}

该方法带有两个参数: newProps 和 newState 。上面的代码片段用来判断 id 状态属性的新值是否小于等于 2。如果是,那么返回 true ,指示该组件要更新。如果不是,那么返回 false ,指示组件不更新。

2,componentWillUpdate

此方法是在组件被更新之前调用,需要注意的是:不能再此方法中使用 this.setState 来修改状态。

3,render

如果没有通过 shouldComponentUpdate 方法忽略更新的话,那么render会再次调用,以确保组件正确显示。

4,componentDidUpdate

此方法是在组件更新以及render方法被调用后才被调用,组件更新后要执行的代码可以放在这里。

处理props改变

当组件被渲染到DOM后,props值发生改变,调用以下生命周期方法:

1,componentWillReceiveProps

此方法只返回一个参数,该参数包含将要赋值的新props值。

2,shouldComponentUpdate
3,componentWillUpdate
4,render
5,componentDidUpdate

其后的生命周期同上一段,行为是一致的。

卸载阶段

这是最后一个阶段,组件要销毁也就是从DOM移除时调用:

componentWillUnmount

这个阶段只有一个方法,我们可以在这个方法中执行清理相关的任务,比如移除事件监听器、停止计数器等等。在该方法被调用后,组件就从 DOM 中移除。

————————————————
参考来源

相关文章

  • React概念图

    React概念图 React组件生命周期概念图 参考文档:React入门教程 组件生命周期React:组件生命周期...

  • React基础篇之组件的生命周期

    引出生命周期 react生命周期(旧) react生命周期(新) getSnapshotBeforeUpdate的...

  • React生命周期

    React v16.0前的生命周期 React v16.4+ 的生命周期图 React v16.9后这些生命周期钩...

  • React v16 生命周期

    React 16 生命周期 React 16.3 新增的生命周期方法 逐渐废弃的生命周期方法: 一般将生命周期分成...

  • 学习并实现react (4)

    实现生命周期 生命周期介绍 React 生命周期图 React 子组件在父组件下的生命周期流程 实现 compon...

  • React面试题 整理脑图

    react基础 React生命周期 react-router react进阶 react Hooks redux 其他

  • react/vue常见问题整理

    一、react 1. react生命周期 react 16生命周期相对于15的变化:componentWillMo...

  • React 组件生命周期

    组件生命周期 参考阅读: component-lifecycle react组件生命周期过程说明 react 组件...

  • 《深入React技术栈》学习笔记Ⅲ

    以下的生命周期都是在 React 15 的生命周期, React 16 的生命周期 API 已经发生变化。Reac...

  • React总结

    [toc] 1.React组件生命周期 1.1 生命周期图 组件的生命周期的图如下: 具体可参考React 组件生...

网友评论

      本文标题:React生命周期

      本文链接:https://www.haomeiwen.com/subject/uspfdftx.html