响应式系统与React | 青训营

47 阅读2分钟

React 的应用

  • 前端应用开发
  • 移动原生应用开发
  • 结合Electron,进行桌面应用开发

React 的设计思路

UI编程痛点

    1. UI, DOM:UI 是用户界面,是 Web 应用程序与用户交互的部分。DOM 是文档对象模型,是 HTML 文档的结构化表示,可以通过 JavaScript 来操作。
    1. UI:UI 的更新需要考虑性能和用户体验。如果 UI 的更新太频繁或太慢,会导致页面卡顿或闪烁。一种解决方案是使用虚拟 DOM,它是 DOM 的内存中的副本,可以在不影响真实 DOM 的情况下进行批量更新。
    1. UI:UI 的交互可能涉及到异步操作,例如网络请求或定时器。如果异步操作之间有依赖关系,会导致回调地狱,即嵌套多层回调函数,使得代码难以阅读和维护。一种解决方案是使用 Promise 或 async/await,它们可以让异步代码看起来像同步代码。

响应式与转换式

image.png

响应式系统(Reactive System)

响应式系统是一种设计和构建系统的方法,其核心思想是使系统能够以高效、弹性和可伸缩的方式响应不断变化的条件和负载。这种方法通常涉及到使用异步和事件驱动的架构,以及处理并发、错误和系统负载的方法。响应式系统旨在处理现实世界中的复杂性,使系统能够适应快速变化的需求和环境。

image.png

转换式系统(Transformational System)

"转换式系统"是指一种在某个特定领域或概念中使用的术语。在一般情况下,"转换"通常指的是从一种状态或形式转换为另一种状态或形式。在计算领域,涉及数据转换、代码转换等。

组件化

image.png

image.png

  1. 组件内部拥有私有状态 State
  2. 组件接受外部的 Props 状态提供复用性
  3. 根据当前的 State/Props,返回一个 Ul。

总结

  1. 组件是组件的组合/原子组件
  2. 组件内拥有状态,外部不可见
  3. 父组件可将状态传入组件内部

状态归属问题

状态归属于两个节点向上寻找到最近的祖宗节点