1, React是什么
用于构建用户界面的JavaScript库
1> 发送请求
2> 处理数据
3> 操作DOM呈现页面(React 只做这一步)
翻译: React是一个将数据渲染为HTML视图的开源JavaScript库
2, React是谁开发
由FaceBook开发,且开源
近十年 “陈酿” 正在被腾讯,阿里等一线大厂广泛使用
3, 为什么要学
1> 原生JavaScript操作DOM繁琐,效率低(DOM-API操作UI)
原生每次DOM操作,浏览器都要重新绘制
Jquery操作DOM与原生JS操作DOM只是代码量少了,效率低依然是一样的
浏览器会进行大量的重绘重排(数据量少,没感觉,数据量大,会很严重)
2> 原生JS没有组件化编码方案,代码复用率低
组件化: HTML/CSS/JS 都可以拆分
4, React的特点
1> 采用 组件化 模式, 声明式编码(通过特殊的语法声明一下, 原生的编码属于命令式的,1,2,3...), 提高开发效率及组件复用率
2> 在React Native中可以使用React语法进行移动端开发(Android,IOS)
3> 使用虚拟DOM + 优秀的Diffing算法, 尽量减少与真实DOM的交互
虚拟DOM: 不是真实的DOM,是给React使用的DOM,不存在于页面上,而是存在内存中
先虚拟DOM(存在内存中), 再映射成 真实的DOM
当有数据变化时,原来能用的尽量用(Diff), 真正生成时,只会有差异的那个生成,原来可用的数据就不会变了