带有var
标签的节点,会在生成阶段为节点创建React组件的Properties
,使一个图层(JSX片段)拥有二次开发的能力。
以下是示例的figma文件,
codesandbox地址: https://codesandbox.io/p/sandbox/39zyz4?file=%2Fsrc%2Ff2c%2Fviews%2FRoomInfo%2Findex.tsx%3A1%2C1
Figma地址:https://www.figma.com/file/eQ6iQwUJPCVtZFwSPxdHBv/var-tag-Guide?type=design&node-id=4-2&mode=dev
线上效果:https://hd-activity-test.yy.com/pcyomi_widget/pc/html/inner.html
以下我们直接看下生成的代码
var
标签后,组件为该节点创建了三个入参:avatarProp
, avatarCss
, avatar
,其作用如下表:Prop | 作用 |
---|---|
avatarProp | 为节点dom创建透传属性,扩展HtmlAttribute,如绑定事件等 |
avatarCss | 为节点创建className,扩展Style |
avatar | 为节点创建childNode插槽,扩展内容 |
完整代码请参考:
codesandbox地址: https://codesandbox.io/p/sandbox/39zyz4?file=%2Fsrc%2FRoomInfoArea%2Findex.tsx%3A1%2C1
我们在生成前就可以站在开发的角度尽可能为组件预留足够的var标签
。
var标签
将静态内容与动态数据通过组件接口层
分离,我们通过组件传参进行内容透传和事件绑定。
这样即使图层重新生成代码,由于组件的接口不变,我们可以轻松地做到UI的无感更新。