博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
React组件的状态及生命周期事件
阅读量:6062 次
发布时间:2019-06-20

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

定义组件

组件定义有两种方式,函数定义和类定义

函数定义组件

function Welcome(props) {  return 

Hello, {props.name}

;}const element =
;ReactDOM.render( element, document.getElementById('root'));

类定义组件

class Welcome extends React.Component {  render() {    return 

Hello, {this.props.name}

; }}ReactDOM.render(
, document.getElementById('root'));

警告:

组件的返回值只能有一个根元素。如果ReactDOM.render方法渲染组件里包含多个同级别的组件,需要用一个DIV将其他组件包裹

类定义组件有局部状态和生命周期钩子事件

通常类的状态是在类的构造函数中声明的

class Clock extends React.Component {  constructor(props) {    super(props);//只要类组件声明了构造函数就必须先调用父类的构造函数    this.state = {date: new Date()};  }  //更新状态  this.setState({      date: new Date()  });}

警告:

如果你不在 render() 中使用某些东西,它就不应该在状态中

钩子函数

componentDidMount(当组件插入到DOM中触发)

componentWillUnmount(当组件移出DOM中后触发)

正确使用状态

1.不要直接更新状态,而是通过setState方法

// Wrongthis.state.comment = 'Hello';// Correctthis.setState({comment: 'Hello'});

2.状态的更新可能是异步的,你不应该依靠它们的值来计算下一个状态

// Wrongthis.setState({  counter: this.state.counter + this.props.increment,});当要被更新的状态依赖于props或它自身时,setState需要传递一个方法作为参数,第一个参数为它的前一个状态的值,第二个参数为props对象// Correctthis.setState((prevState, props) => ({  counter: prevState.counter + props.increment}));

转载地址:http://osvrx.baihongyu.com/

你可能感兴趣的文章
Java数据结构与算法(九) 哈希表
查看>>
鼠标移上去显示全部内容
查看>>
iOS小数四舍五入总结
查看>>
离散数学
查看>>
[Day 1]上海CNUTCon全球运维技术大会2017实录
查看>>
Python3-cookbook- 笔记1 - 数据结构和算法
查看>>
密码协议(二)仲裁协议
查看>>
前端面试题集结号之html
查看>>
写给自己看的在 Vue 下使用 Typescript 指北
查看>>
数据哪存比较好?AI把用户“逼上”公有云
查看>>
【译】简易的NPM自动化发布
查看>>
优秀的日期选择控件
查看>>
阿里机器学习七面面经 |「掘金技术征文」
查看>>
【一】Go 学习笔记
查看>>
科大讯飞胡郁:语言是通往人工智能的入口
查看>>
让webpack更简单
查看>>
Linux常用命令 — 软链接和硬链接
查看>>
OpenCenterV3开发文档 2019.1.24
查看>>
javascript闭包的个人理解
查看>>
手把手教你给偶像刷票。偶像来了?程序员来了!Charles实战
查看>>