单设备支持群组部分支持
useDevice(selector?: (device: DeviceData) => any;, equalityFn?: (prevDeviceData: DeviceData, nextDeviceData: DeviceData) => boolean;)
版本要求:
@ray-js/panel-sdk≥1.2.0
描述
获取智能设备信息、功能点模型、网络状态、蓝牙状态,数据变动时驱动组件重新渲染。 不传 selector 时返回完整 DeviceData,任何字段变化都触发重渲染,推荐始终传入 selector 仅选取所需功能点以优化渲染性能。
参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
selector | (device: DeviceData) => any; | 否 | 选择器函数,入参为包含 devInfo、dpSchema、network、bluetooth 的设备数据对象,返回值类型由 selector 选择器决定,可能为任意值 |
equalityFn | (prevDeviceData: DeviceData, nextDeviceData: DeviceData) => boolean; | 否 | 自定义比较函数,返回 true 则不触发重渲染 |
返回值
类型:DeviceData
返回值类型由 selector 选择器决定,可能为任意值
引用对象
type
DeviceData| 属性 | 类型 | 必填 | 描述 |
|---|---|---|---|
| 是 | 设备信息(含 codeIds / idCodes 进行功能点 Code ↔ ID 互查) | ||
| 是 | 功能点模型集合(key 为 dpCode) | ||
| 是 | 当前手机的网络连接状态(所有设备共享,非设备在线状态;设备是否在线见 devInfo.isOnline) | ||
bluetooth | { available: boolean; } | 是 | 蓝牙适配器状态 |
type
Capabilitytype
DevAttribute合法值
DevInfo.schema.mode
| 值 | 说明 | 最低版本 |
|---|---|---|
rw | - | - |
ro | - | - |
wr | - | - |
DevInfo.schema.property.type
| 值 | 说明 | 最低版本 |
|---|---|---|
string | - | - |
bool | - | - |
value | - | - |
enum | - | - |
bitmap | - | - |
raw | - | - |
DevInfo.schema.type
| 值 | 说明 | 最低版本 |
|---|---|---|
raw | - | - |
obj | - | - |
FunConfig.tyabirysr4_app
| 值 | 说明 | 最低版本 |
|---|---|---|
follow | - | - |
--app-B1 | - | - |
FunConfig.tyabis5d9w_app
| 值 | 说明 | 最低版本 |
|---|---|---|
follow | - | - |
--app-M1 | - | - |
DpSchema.mode
| 值 | 说明 | 最低版本 |
|---|---|---|
rw | - | - |
ro | - | - |
wr | - | - |
DpSchema.property.type
| 值 | 说明 | 最低版本 |
|---|---|---|
string | - | - |
bool | - | - |
value | - | - |
enum | - | - |
bitmap | - | - |
raw | - | - |
DpSchema.type
| 值 | 说明 | 最低版本 |
|---|---|---|
raw | - | - |
obj | - | - |