关于react的生命周期

创建组件

在我们定义好一个组件后传给react.createElement函数中,

又把函数的返回值给reactDOM.render

// React.createElement 中实例化一个 Header
const header = new Header(props, children)
// React.createElement 中调用 header.render 转换为jsx代码
const headerJsxObject = header.render()
// ReactDOM 用渲染后的 JavaScript 对象来来构建真正的 DOM 元素
const headerDOM = createDOMFromObject(headerJsxObject)
// ReactDOM 把 DOM 元素塞到页面上
document.getElementById('root').appendChild(headerDOM)

在我们将react.js组件渲染的时候,并且构造函数dom元素然后塞入页面的过程称为组件的挂在,在挂载的过程中,就有一个过程-初始化组件->挂载到页面上的过程,在这段时间会有两个生命周期分别为componentWillMount 和 componentDidMount

class Header extends Component {
  constructor () {
    super()
    console.log('construct')
  }
  componentWillMount () {
    console.log('component will mount')
  }
  componentDidMount () {
    console.log('component did mount')
  }
  render () {
    console.log('render')
    return (
      <div>
        <h1 className='title'>React 小书</h1>
      </div>
    )
  }
}

在我们引用这两个生命周期时可以看到

删除组件

componentWillUnmount组件对应的 DOM 元素从页面中删除之前调用。 但这一节并没有讲这几个方法到底在实际项目当中有什么作用,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值