数据绑定
在接触运行时数据绑定 API 之前,重要的是先熟悉概述中介绍的核心概念。
视图模型
视图模型描述一组属性,但本身不能用于获取或设置值——这是视图模型实例的职责。
首先,我们需要获取对特定视图模型的引用。这可以通过索引、名称或给定画板的默认方式来完成,从 Rive 文件中获取。默认选项指的是编辑器中画板上通过下拉菜单分配的视图模型。
新版运行时(推荐)
import { useRiveFile } from '@rive-app/react-native';
const { riveFile } = useRiveFile(require('./my_file.riv'));
// 按名称获取引用
const namedVM = await riveFile?.viewModelByNameAsync('My View Model');
// 获取所有视图模型名称
const vmNames = await riveFile?.getViewModelNamesAsync(); // ['My View Model', ...]
// 获取默认画板视图模型的引用
const defaultVM = await riveFile?.defaultArtboardViewModelAsync();
旧版运行时
创建视图模型对象仅在新版 React Native 运行时中受支持。
视图模型实例
获取视图模型的引用后,可以使用它来创建实例。创建实例时有四种选择:
- 创建空白实例 — 使用以下默认值填充所创建实例的属性:
| 类型 | 值 |
|---|---|
| Number | 0 |
| String | 空字符串 |
| Boolean | False |
| Color | 0xFF000000 |
| Trigger | 未触发 |
| Enum | 第一个值 |
| Image | 无图像 |
| Artboard | 无画板 |
| List | 空列表 |
| Nested view model | Null |
- 创建默认实例 — 使用编辑器中标记为 "Default" 的实例。通常这是设计师期望在运行时使用的主要实例。
- 按索引创建 — 使用遍历所有可用实例时的顺序。在通过迭代创建多个实例时很有用。
- 按名称创建 — 使用编辑器中的实例名称。在创建特定实例时很有用。
在一些示例中,由于 "view model instance" 过于冗长,我们使用缩写 "VMI",以及用 "VM" 表示 "view model"。