ember.js 在Glimmer VM中,“基于拉动的功能React式计划”意味着什么?

wlzqhblo  于 2022-11-05  发布在  React
关注(0)|答案(1)|浏览(80)

正如我在本文中看到的“基于拉的函数React式程序”的概念:https://engineering.linkedin.com/blog/2017/06/glimmer--blazing-fast-rendering-for-ember-js--part-2
据我所知,“拉式”意味着我们必须使用定期轮询的方式,根据状态的最新值来检查和更新UI。但我认为,如果应用有很多状态,而这些状态实际上大多数时间并不频繁改变,则会有很多浪费的“轮询”,甚至可能导致应用运行效率低下。
所以,我想这里应该有我遗漏的东西,我怎么能理解呢?
虽然VM体系结构是一种对渲染进行建模的新颖方式,但是VM的初始执行建立了Reference和Revision Tag子系统,这允许我们对基于拉的功能React式程序进行建模这意味着在实践中没有观察器或订阅的概念来保持UI中的值更新,而是允许模板中的支持值自由变化。现在,将这个系统概念化的最简单方法如下:

pxy2qtax

pxy2qtax1#

我强烈推荐加勒特的blog posts on this集,他对这一点的解释要全面得多,但是push与pull的React性并不是每隔一段时间就轮询一次变化,它更类似于命令式编程与声明式编程。而不是将通知应用程序有关状态更改的责任放在更改器上(推送)。

相关问题