React学习

React 生命周期

2018-05-13  本文已影响81人  shengqz

React生命周期已经是老生常谈了。
博主最近学习打算深入学习React发现React生命周期的一些特点,这个也做为自己在React学习上面的一个记录。

React一共有三大周期:挂载(安装),渲染(更新),卸载。

注:每个阶段的进行顺序就是代码中的顺序

挂载周期

import React, { Component, PropTypes } from 'react'

class App extends Component {
    static PropTypes = {
        设置props类型阶段
    }
    static defaultProps = {
        设置props默认值阶段
    }
    constructor(props) {
        super(props)  继承传递的值
        this.state = {  初始化state
            // ...
        }
    }
    componentWillMount() {
        预安装阶段
    }
    render() {
        将虚拟DOM结合到真实DOM中
    }
    componentDidMount() {
        可以进行数据请求等操作。可以进行setState
    }
}

渲染周期

class App extends Component {
    componentWillReceiveProps(nextProps) {
        接受更新props阶段,可以使用setState
    }
    shouldComponentUpdate(nextProps,nextState) {
        是否更新props和state阶段,默认为true,代表渲染(更新)
        可以在这个阶段对nextProps和当前this.props进行对比,以便确认是否渲染(更新)
    }
    componentWillUpdate(nextProps, nextState) {
       与挂载相似,预安装
    }
    render() {
        将虚拟DOM结合到真实DOM中,纯函数返回值只能有一个顶根元素或null。
    }
    componentDidUpdate() {
        实际渲染(更新)阶段(将DOM添加到HTML中)
    }
}

卸载周期

class App extends Component {
    componentWillUnmount() {
       可以卸载在componentDidMount的Ajax请求
    }
}

本文参考:
深入React技术栈

若有建议,请留言,谢谢。
你的交流,是彼此的进步。

上一篇 下一篇

猜你喜欢

热点阅读