这是我参与「第五届青训营 」伴学笔记创作活动的第5天
React的历史与应用
React应用方面
前端应用开发方面 :Facebook等
移动原生应用开发 :安卓版的Facebook,Discord等
与其他软件合作 :结合Electron,进行桌面应用开发
React的历史
- 2010年,Facebook 在 PHP 生态中引入了 XHP 框架,首次引用了组合式组件的思想,为后来的React框架奠定基础。
- 2011年,Jordan Walke 创建了 FaxJS ,它就是 React.js 早期的原型。
- 2012年, Jordan Walke 基于FaxJS的经验创造了React。
- 2013年,React 正式开源。
- 2014年-今天, 围绕React的新工具,新框架不断涌现。
React的设计思路
UI编程的痛点
- 状态更新:UI不会自动更新,需要手动调用DOM更新
- 欠缺代码层面的封装与隔离,代码没有组件化
- UI之间的数据依赖关系,需要手动维护,如果过长,则会遇到“call back hell”
响应式
响应式系统:
响应式编程的优势:
- 状态更新,UI自动更新。
- 前端代码组件化,可复用,可封装。
- 状态之间相互依赖关系只需声明即可。
组件化
- 组件是组件的组合/ 原子组件。
- 组件内具有状态,外部不可见。
- 父组件可将状态传入组件内部。
组件设计
- 组件声明了状态和UI的映射。
- 组件有Props / State两种状态。
- “组件”可由其他组件拼装而成。
- 组件内部拥有私有状态State
- 组件接受外部的Props状态提供复用性。
- 根据当前的State/Props,返回一个UI。