我有以下内容从我的 iOS 应用程序向 React Native 发出事件。
iOS
- (void)sendBrazeDeepLinkUrlToReactNative: (NSString *) payload {
if (hasListeners) {
[self sendEventWithName:@"incomingRNAppEvent" body:@{@"url":payload}];
}
}
然后我在我的 React Native App 中监听事件。
const AppNotificationEmitter = new NativeEventEmitter(AppNotification);
const subscription = AppNotificationEmitter.addListener(
"incomingRNAppEvent",
(event: any) => {
console.log("InAppMessage Recieved: ", JSON.stringify(event));
console.log("AppNotification: ", event);
}
);
当事件发生时,我触发了事件并且一切都按预期工作,除了......
React Native 中接收到的事件对象包含一个空对象???
例如 `console.log("AppNotification", event) 的输出是:
AppNotification: {"url": null}
并且我能够通过调试iOS原生模块并检查触发事件时的值来确认URL肯定是设置的。即有效载荷是一个有效的网址。