Reactivity — Core Concept

DEX475 - Fields, Properties, and Attributes

📄 第 98 页 🎬 视频课程

课程章节介绍

今天我们来聊聊 Lightning Web Components 里一个特别核心的概念:反应性。 你可以把反应性想象成组件里会“盯着”数据变化的智能引擎。当你改了一个属性或者一个字段的值,框架就会马上察觉到,然后自动把模板里用到这个值的地方都重新计算一遍,并且把组件的界面重新渲染成最新的样子。整个过程根本不需要你手动去更新页面。 默认情况下,组件模板里直接绑定的公共属性,就已经是反应性的了。也就是说,只要这个属性的值变了,并且它在模板里,或者在某个 getter 方法里被用到,组件就会自动刷新。 不过呢,针对对象和数组,框架默认只能发现一些表面的变动,比如你直接把整个对象换成了一个新的。但如果你只是修改了对象里的某个嵌套属性,或者数组里某个元素,框架可能就不会自动响应。那怎么办呢?这时候,我们就需要请出一个装饰器——`@track`。给属性加上`@track`,框架就能深度观察它的内部变化,哪怕你只改了嵌套对象里的一个小字段,组件也会聪明地重新渲染。 简单总结一下:公共属性默认就带一点反应性,可要想让对象和数组里的嵌套数据也引发界面更新,记得用`@track`来标记它。这样就掌握了 LWC 里让界面动起来的基础驱动力。

关键词

LWC Lightning Web Components Salesforce