美文网首页
React组件生命周期

React组件生命周期

作者: 叶夏星辰 | 来源:发表于2017-10-31 20:29 被阅读0次

react组件生命周期
一个React组件的生命周期分为实例化,存在期,销毁

实例化

组件在客户端被实例化,第一次被创建时,以下方法依次调用
1.getDefaultProps//ES6/ES7创建时这个方法不可用
2.getInitialState//ES6/ES7创建时这个方法不可用
3.componentWillMount
4.render
5.componentDidMount

组件在服务端被实例化,第一次被创建时,以下方法依次调用
1.getDefaultProps
2.getInitialState
3.componentWillMount
4.render
在服务端在渲染过程中componentDidMount不会被调用

这里只讨论组件在前端的生命周期。
定义一个组件

class Demo extends React.Component{
  render(){
    return (
      <div>Hello,I'm {this.props.name},{this.props.age}</div>
     )
  }
}

getDefaultProps

getDefaultProps 这个方法只会调用一次,返回的对象可以用于设置默认的props,只适合React.createClass使用,使用ES6/ES7创建的这个方法不可用。
可以在挂载组件的时候设置props
<Demo name="ZiYe" age="18"/>

getInitialState

设置state初始值,只适合React.createClass使用,ES6初始化state方法如下

constructor(props){
  super(props);
  this.state = {
    like:false
  };
}

可通过this.setState 方法修改state

componentWillMount

该方法会在组件首次渲染之前调用,这个是在render方法调用前可修改state的最后一次机会。这个方法很少用到。

render

该方法会创建一个虚拟DOM。
React只更新必要的东西,React DOM会将元素和子元素与之前的状态比较,然后只更新必要的部分使DOM变为所希望的状态

componentDidMount

这个方法在首次真实DOM渲染后调用,仅此一次。

存在期

当props或者state发生变化时,会依次调用下列方法:
componentWillReceiveProps
1.shouldComponentUpdate(nextProps,nextState)
是否应该更新组件,默认返回true,当返回false时,后期函数就不调用,组件不会再次渲染。
2.componentWillUpdate
3.render
与实例化render相同
4.componentDidUpdate
更新真实的DOM成功后调用

销毁期

componentWillUnmount
每当React使用完一个组件,这个组件必须从 DOM 中卸载后被销毁,此时 componentWillUnmout 会被执行,完成所有的清理和销毁工作,在 componentDidMount 中添加的任务都需要再该方法中撤销,如创建的定时器或事件监听器

相关文章

  • React概念图

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

  • React 组件生命周期

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

  • React总结

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

  • 学习并实现react (4)

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

  • react(最近搞了一套react项目的视频 全套 有需

    React 组件生命周期在本章节中我们将讨论 React 组件的生命周期。 组件的生命周期可分成三个状态: Mou...

  • Notes On React - Two

    React 的生命周期   React组件 的生命周期大致可分成四个状态:  - Mounting:装配-组件实例...

  • React 生命周期

    React 生命周期 初始化周期 组件重新渲染生命周期 组件卸载生命周期

  • 006@React组件的生命周期.md

    006@React组件的生命周期.md React Native 是基于组件化开发。弄清楚组件的生命周期对于我们开...

  • 四:React 进阶三 (生命周期)

    react(一):组件的生命周期 生命周期函数 在组件运行的某个时刻,会被自动执行的一些函数。 React生命周期...

  • react组件的生命周期

    第三单元(react组件的生命周期) 课程目标 灵活掌握react组件的生命周期以及组件的活动过程。 能够灵活使用...

网友评论

      本文标题:React组件生命周期

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