1# 复用选项 2 3reuse属性用于给\@ReusableV2装饰的自定义组件指定复用选项。 4 5本文档仅为API参考说明。实际功能使用与限制见[@ReusableV2装饰器:组件复用](../../../ui/state-management/arkts-new-reusableV2.md)。 6 7> **说明:** 8> 9> 从API Version 18开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 10 11## reuse 12 13reuse(options: ReuseOptions): T 14 15复用选项,用于设置V2自定义组件的复用选项。 16 17**原子化服务API:** 从API version 18开始,该接口支持在原子化服务中使用。 18 19**系统能力:** SystemCapability.ArkUI.ArkUI.Full 20 21**参数:** 22 23| 参数名 | 类型 | 必填 | 说明 | 24| ------- | ----------------------------- | ---- | ---------------------------------------------- | 25| options | [ReuseOptions](#reuseoptions) | 是 | 复用选项,用于配置复用相关信息,由开发者指定。 | 26 27**返回值:** 28 29| 类型 | 说明 | 30| ----------------------------|---------------------------------------------- | 31| T | 返回当前组件。 | 32 33## ReuseOptions 34 35复用选项信息。 36 37**原子化服务API:** 从API version 18开始,该接口支持在原子化服务中使用。 38 39**系统能力:** SystemCapability.ArkUI.ArkUI.Full 40 41### 属性 42 43| 名称 | 类型 | 必填 | 说明 | 44| ------- | ----------------------------------- | ---- | ------------------------------------------------------------ | 45| reuseId | [ReuseIdCallback](#reuseidcallback) | 否 | 复用标识id,相同复用标识id的V2自定义组件会被互相复用。默认的复用标识id为自定义组件名。 | 46 47## ReuseIdCallback 48 49type ReuseIdCallback = () => string 50 51获取复用标识id的回调方法。 52 53**原子化服务API:** 从API version 18开始,该接口支持在原子化服务中使用。 54 55**系统能力:** SystemCapability.ArkUI.ArkUI.Full 56 57**返回值:** 58 59| 类型 | 说明 | 60| ------ | ------------------------------------------------------------ | 61| string | 复用标识id,由开发者指定。<br>未指定或使用空字符串`''`作为复用标识id时,将默认使用自定义组件名。 | 62 63## 示例 64 65```ts 66@Entry 67@ComponentV2 68struct Index { 69 build() { 70 Column() { 71 ReusableV2Component() 72 .reuse({reuseId: () => 'reuseComponent'}) // 使用'reuseComponent'作为reuseId 73 ReusableV2Component() 74 .reuse({reuseId: () => ''}) // 使用空字符串将默认使用组件名'ReusableV2Component'作为reuseId 75 ReusableV2Component() // 未指定reuseId将默认使用组件名'ReusableV2Component'作为reuseId 76 } 77 } 78} 79@ReusableV2 80@ComponentV2 81struct ReusableV2Component { 82 build() { 83 } 84} 85``` 86 87