共计 730 个字符,预计需要花费 2 分钟才能阅读完成。
很多教程把 React 介绍为一个 UI 框架。这很合理因为它就是一个 UI 库,这就是 react 标语的意思。这篇文章不会叫你任何关于建立用户界面的知识,但是会帮助你更生层次的理解 React 编程模型。这是一篇深入解析的文章,对初学者不太适合。在这篇文章我将通过第一准则描述大部分的 React 编程,我将解释 react 是如何工作的。
1 Host Tree
一些程序输出数字,另一些程序输出诗歌。不同的语言和他们的运行时通常会对特定的实例进行优化,React 也不例外。
React 会生成一颗不断变化的树结构。它可能是 Dom 树,ios 层级,关于 PDF 的原语树,或者是 JSON 的对象。通常我们希望用它们来生成 UI 界面。我们称这些结构为“host tree”,因为通常他们是 React 之外宿主环境的一部份——就像 Dom 和 iOS。host tree 通常拥有自己的命令式的 API。React 就是它上面的一层。所以 React 的作用是什么呢?抽象的说,它能帮助你在编写程序时可预测的操作复杂的 Host tree,并且对像交互,网络响应,定时器等等这样的外部事件作出反应。当专门的工具通过特定的约束获取收益,他就比一般的工作优秀。React 通过下面的两项原则实现:稳定:host tree 相对来说比较稳定,大部分的更新不会改变整个结构。。如果一款 app 经常用完全不同的组合改变交互元素,它会比较难用的。按钮去哪了呢?为什么我的屏幕会跳动?有规律的:Host tree 可以将拆分成不同的 UI 组件但表现一致,而不是不同的形状。这些原则恰好适用于大多数 UI。然而,当输出没有稳定的“模式”时 React 并不适用。例如,React 也许可以帮助你编写一个 Twitter 客户端,但对于一个 3D 管道屏幕保护程序 并不会起太大作用。