React 的应用
- 前端应用开发
- 移动原生应用开发
- 结合Electron,进行桌面应用开发
React 的设计思路
UI编程痛点
-
- UI, DOM:UI 是用户界面,是 Web 应用程序与用户交互的部分。DOM 是文档对象模型,是 HTML 文档的结构化表示,可以通过 JavaScript 来操作。
-
- UI:UI 的更新需要考虑性能和用户体验。如果 UI 的更新太频繁或太慢,会导致页面卡顿或闪烁。一种解决方案是使用虚拟 DOM,它是 DOM 的内存中的副本,可以在不影响真实 DOM 的情况下进行批量更新。
-
- UI:UI 的交互可能涉及到异步操作,例如网络请求或定时器。如果异步操作之间有依赖关系,会导致回调地狱,即嵌套多层回调函数,使得代码难以阅读和维护。一种解决方案是使用 Promise 或 async/await,它们可以让异步代码看起来像同步代码。
响应式与转换式
响应式系统(Reactive System) :
响应式系统是一种设计和构建系统的方法,其核心思想是使系统能够以高效、弹性和可伸缩的方式响应不断变化的条件和负载。这种方法通常涉及到使用异步和事件驱动的架构,以及处理并发、错误和系统负载的方法。响应式系统旨在处理现实世界中的复杂性,使系统能够适应快速变化的需求和环境。
转换式系统(Transformational System) :
"转换式系统"是指一种在某个特定领域或概念中使用的术语。在一般情况下,"转换"通常指的是从一种状态或形式转换为另一种状态或形式。在计算领域,涉及数据转换、代码转换等。
组件化
- 组件内部拥有私有状态 State
- 组件接受外部的 Props 状态提供复用性
- 根据当前的 State/Props,返回一个 Ul。
总结
- 组件是组件的组合/原子组件
- 组件内拥有状态,外部不可见
- 父组件可将状态传入组件内部
状态归属问题
状态归属于两个节点向上寻找到最近的祖宗节点