紧要 学习路线 React 介绍 什么是React ? React 是一个用于构建用户界面的 JAVASCRIPT 库。React 主要用于构建UI,很多人认为 React 是 MVC 中的 V(视图)。React 拥有较高的性能,代码逻辑非常简单,越来越多的人已开始关注和使用它。 React Fiber 指 React 16版本 React 特性 声明式设计 −React采用声明范式,可以轻松描述应用。 高效 −React通过对DOM的模拟,最大限度地减少与DOM的交互。 灵活 −React可以与已知的库或框架很好地配合。 JSX − JSX 是 JavaScript 语法的扩展。React 开发不一定使用 JSX ,但我们建议使用它。 组件 − 通过 React 构建组件,使得代码更加容易得到复用,能够很好的应用在大项目的开发中。 单向响应的数据流 − React 实现了单向响应的数据流,从而减少了重复代码,这也是它为什么比传统数据绑定更简单。 JSX 介绍 什么是JSX ? React 使用 JSX 来替代常规的 JavaScript。JSX 是一个看起来很像 XML 的 JavaScript 语法扩展。 JSX特性 JSX 执行更快,因为它在编译为 JavaScript 代码后进行了优化。 它是类型安全的,在编译过程中就能发现错误。 使用 JSX 编写模板更加简单快速。 --- 注意: 由于 JSX 就是 JavaScript,一些标识符像 class 和 for 不建议作为 XML 属性名。作为替代,React DOM 使用 className 和 htmlFor 来做对应的属性。 默认JSX 会把html 代码作为字符串,来避免XSS攻击,如果要展示Html 代码,则需要使用属性:dangerouslySetInnerHTML ,并传入一个key 值为__html的对象,以做警示。 基础语法注意点 React 绑定事件需要使用 bind 绑定this指向, 这样才能正确的获取到对应组件的实例。 并且需要在构造器中bind ,以获得更好的性能。 setState 是异步, 如果出现同时操作同一个数据,可能会造成state数据未更新完成,使用旧数据情况。 所以为了避免该情况的发生,可使用 setState(() => ({...})), 使用函数,这样React ,会队列执行函数。以此会及时的获得最新数据。并且setState 传入函数,函数第一个参数为prevState(修改前state), 这样可以更好的保证state的数据最原始。 state 层级过多,取值以及更新state 时,代码会变得不优雅,如何优雅的使用呢?可使用:imrner,lenses PropTypes Or DefalutProps 使用 Docs