特点
-
组件化、声明式编程
-
React Native
-
虚拟DOM+Diffing算法,减少与真实DOM交互
-
babel:
-
es6转es5,import
-
jsx转js
-
react.developemnt.js:核心库
-
react.dom.development.js:扩展库
虚拟DOM
- object 对象
- 虚拟dom属性较少,真实dom属性多,虚拟在react内部用
- 虚拟dom会被react转成真实dom
jsx
-
定义虚拟dom,不要写引号
-
标签中混入js表达式要用{}
-
样式类名用className
-
内联样式,
style={{key:value}} ,外层{}表示写js了,内层{}表示写的不是函数数组,而是对象 -
只有一个根标签
-
标签必须闭合
-
标签首字母
-
小写开头,会转换为html中同名元素
-
大写开头,react会渲染对应的组件
js语句与js表达式
-
表达式:会产生一个值,可以放在任何一个需要值的地方
a a+b demo(1) arr.map() function test() {} -
语句
if() {} for() {} switch() {case: xxx}
模块与组件、模块化与组件化
- 模块:js文件,可复用,提高效率
- 组件: 用来实现局部功能效果的代码和资源集合(html、css、js、img等)