react 实用学习笔记总结,持续更新~

React是用于构建用户界面的JavaScript库
可以认为是MVC中的V(MVC: 模型model-视图view-控制器controller)

虚拟DOM(Virtual DOM)
DOM(文档对象模型Document Object Model)
React通过Diff算法找出虚拟DOM和真实DOM之间的差异,仅渲染修改的这一部分变化,减少了DOM的重绘,提高了效率

JSX语法
是一种应用于React中的JavaScript和XML混写的语法
约定标签中首字母小写的是html标签,大写的是组件,所有标签必须闭合
JSX表达式用{ }括起来

组件状态 state
每个React组件都有一个状态属性state,是js对象,可定义属性来保存值,值不可变
若状态发生变化则触发UI重新渲染,state仅供组件内部使用
可用setState()方法(严禁直接修改state),值得一提的是,当你通过setState改变state的值后,控制台打印的数据总是比页面显示的慢一步,那是因为两个的this指向不一样,也就是他们指向的event对象不一样

属性 props
props是组件标签中的属性,是公有属性,组件外也可以访问,但是不能在子组件修改父组件传递过来的props的值,

构造器 constructor
类似init初始化函数,ES6的构造器需传入参数props,并传递给父类super(props)

组件生命周期
三个状态:
Mounting:已插入真实DOM
Updating:正在被重新渲染
Unmouting:已移出真实DOM
生命周期函数:
componentWillMount 渲染前执行(先执行constructor)
componentDdMount 渲染后执行
componentWillRevieveProps(nextProps) props改变时执行
shouldComponentUpdate(nextProps, nextState) props,state改变时执行
componentWillUpdate(nextProps, nextState) should返回True则执行
componentDidUpdate(prevProps, prevState) 组件更新完成后执行
componentWillUnmount 从DOM中移除组件时执行

无状态组件
也叫函数式组件,通过函数定义组件,不需要state和生命周期函数时使用。
需要提供一个参数props,返回一个React元素
 

你可能感兴趣的:(react,react)