【发布时间】:2018-02-24 22:41:48
【问题描述】:
我目前正致力于将一些 HomeKit 功能桥接到 React Native。我需要能够将我的 HMHome 对象数组转换为可解释为 React Native。我想我需要使用RCTConvert,但我有点慌张。
我正在订阅一个用户的HMHomes 已准备好返回的事件,如下图HomeKitPage.js 所示。
this.subscription = RNHomeKitEmitter.addListener(
'homesReady',
(homes) => console.log(homes)
);
我的RNHomeKit.m 正在发出homesReady 事件并返回如下所示的房屋列表。
- (void)homeManagerDidUpdateHomes:(HMHomeManager *)myHomeManager {
RCTLog(@"HOMEMANAGERDIDUPDATEHOMES");
RCTLog(@"PRIMARY HOME: %@", self.myHomeManager.primaryHome);
RCTLog(@"MY LIST OF HOMES: %@", self.myHomeManager.homes);
[self sendEventWithName:@"homesReady" body:@{@"homes": self.myHomeManager.homes}];
}
来自 RCTLog 的 My List of Homes 的输出是:
MY LIST OF HOMES: (
"[ name = Matt's Awesome Home, primary : Yes ]"
)
所以我从 EventEmitter 的 JavaScript 控制台看到的输出是一个数组,其中索引是用户的住宅数量,每个对象都是 null(如预期的那样)。
如何将其转换为我的 JavaScript 可以使用的 JSON 对象数组?
【问题讨论】:
标签: javascript ios objective-c react-native react-native-ios