博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
react应用文档
阅读量:6298 次
发布时间:2019-06-22

本文共 1350 字,大约阅读时间需要 4 分钟。

hot3.png

组件生命周期

一个组件类必须由调用 React.createClass 创建,并且提供一个 render 方法以及其他可选的生命周期函数、组件相关的事件或方法定义。

一个简单的例子:

var LikeButton = React.createClass({    getInitialState: function() {        return {liked: false};    },    handleClick: function(event) {        this.setState({liked: !this.state.liked});    },    render: function() {        var text = this.state.liked ? 'like' : 'haven\'t liked';        return (            
                You {text} this. Click to toggle.            

        );    }});React.render(    
,    document.getElementById('example'));

getInitialState

初始化 this.state 的值,只在组件装载之前调用一次。

getDefaultProps

只在组件创建时调用一次并缓存返回的对象(即在 React.createClass 之后就会调用)。

因为这个方法在实例初始化之前调用,所以在这个方法里面不能依赖 this 获取到这个组件的实例。

在组件装载之后,这个方法缓存的结果会用来保证访问 this.props 的属性时,当这个属性没有在父组件中传入(在这个组件的 JSX 属性里设置),也总是有值的。

render

必须

组装生成这个组件的 HTML 结构(使用原生 HTML 标签或者子组件),也可以返回 null 或者 false,这时候 React 会将组件生成一个 <noscript> 标签,并且 this.getDOMNode() 会返回 null

生命周期函数

装载组件

componentWillMount

只会在装载之前调用一次,在 render 之前调用,你可以在这个方法里面调用 setState 改变状态,并且不会导致额外调用一次 render

componentDidMount

只会在装载完成之后调用一次,在 render 之后调用,从这里开始可以通过 this.getDOMNode() 获取到组件的 DOM 节点。

更新组件状态

这些方法不会在首次 render 组件的周期调用

  • componentWillReceiveProps

  • shouldComponentUpdate

  • componentWillUpdate

  • componentDidUpdate

卸载(删除)组件

  • componentWillUnmount

更多关于组件相关的方法说明,参见:

转载于:https://my.oschina.net/u/1050900/blog/515116

你可能感兴趣的文章
docker centos环境部署tomcat
查看>>
JavaScript 基础(九): 条件 语句
查看>>
Linux系统固定IP配置
查看>>
配置Quartz
查看>>
Linux 线程实现机制分析
查看>>
继承自ActionBarActivity的activity的activity theme问题
查看>>
设计模式01:简单工厂模式
查看>>
项目经理笔记一
查看>>
Hibernate一对一外键双向关联
查看>>
mac pro 入手,php环境配置总结
查看>>
MyBatis-Plus | 最简单的查询操作教程(Lambda)
查看>>
rpmfusion 的国内大学 NEU 源配置
查看>>
spring jpa 配置详解
查看>>
IOE,为什么去IOE?
查看>>
Storm中的Worker
查看>>
dangdang.ddframe.job中页面修改表达式后进行检查
查看>>
Web基础架构:负载均衡和LVS
查看>>
Linux下c/c++相对路径动态库的生成与使用
查看>>
SHELL实现跳板机,只允许用户执行少量允许的命令
查看>>
SpringBoot 整合Redis
查看>>