React.JS的一个优点是,您不关心将一个UI转换为另一个UI,神奇的React DIFF算法可以解决这一问题。
定义您想要的UI(单向model -> UI
流(,神奇的React DIFF算法负责将当前UI转换为所需的UI。对于其他UI库,您通常需要手动处理,并编写大量无聊的代码来如何将当前UI转换为新的UI以响应某些事件或更改。
是否可以以类似的方式使用QT5/LIBUI我想我们可以称之为反应式UI风格,可能不完全像React.JS,而是像Vue.JS或svelte.JS、Elm等
简单的答案是肯定的。但就Qt5而言,它要健壮得多,结构也要好得多。将这两种技术进行比较不是一个好的决定。我是一个Qt爱好者,所以我可能会给你一些有偏见的意见。
以下是关于Qt属性绑定的一些解释。
该页面的报价:
属性绑定
可以为对象的属性指定一个静态值其保持恒定直到它被明确地分配一个新值。然而,为了充分利用QML及其对动态对象行为,大多数QML对象使用属性绑定。
属性绑定是QML的核心功能,它允许开发人员指定不同对象特性之间的关系。当属性的依赖项的值发生更改,则该属性自动根据指定的关系进行更新。
在幕后,QML引擎监视属性的依赖关系(即绑定表达式中的变量(。当更改QML引擎重新评估绑定表达式将新结果应用于属性。