一. react简介
1、react发展---facebook在构建instagram网站的时候遇见两个问题
a、数据绑定的时候,大量操作真实dom,性能成本太高
b、网站的数据流向太混乱,不好控制
2.React 把用户界面抽象成一个个组件,如按钮组件 Button、对话框组件 Dialog、日期组件 Calendar。开发者通过组合这些组件,最终得到功能丰富、可交互的页面。通过引入 JSX 语法,复用组件变得非常容易,同时也能保证组件结构清晰。有了组件这层抽象,React 把代码和真实渲染目标隔离开来,除了可以在浏览器端渲染到 DOM 来开发网页外,还能用于开发原生移动应用
二.react生态圈
1.JSX:扩展的JS,React强依赖
2.Flux
3.Redux: 状态管理
4.React-Native:开发移动应用
5.React-Server:服务端渲染
三.react和vue比较
相同点:
1. 使用 Virtual DOM
2. 提供了响应式 (Reactive) 和组件化 (Composable) 的视图组件。
3. 将注意力集中保持在核心库,而将其他功能如路由和全局状态管理交给相关的库。
不同点:
1. 开发角度:vue 适合前端用,react适合程序
2. 使用角度:vue封装了很多暗箱操作, react需要程序控制
3. 模板语法: jsx语法 与tempate
4. 样式: css-in-js 与 模块内css
......
四.react特点
1. JSX − JSX 是 JavaScript 语法的扩展。
2. 组件 − 通过 React 构建组件,使得代码更加容易得到复用,能够很好的应用在大项目的开发中。
3. 单向响应的数据流 − React 实现了单向响应的数据流,从而减少了重复代码,这也是它为什么比传统数据绑定更简单。
4. 高效 −React通过对DOM的模拟(虚拟dom),最大限度地减少与DOM的交互。
5. 灵活 −React可以与已知的库或框架很好地配合。
五. 公司使用
国外使用React的公司:Facebook,Flipboard,Airbnb,BBC,GitHub,Instagram,Reddit,Uber,WhatsApp,Yahoo
国内使用React的公司:支付宝,淘宝,大搜车,Teambition,豆瓣,豌豆荚