ios - 从 iOS 原生代码加载路由(objective-c)
问题描述
我正在集成一个 iOS 本机库。该库打开第三方应用程序,此处理数据并使用深度重新加载我的应用程序,该库捕获响应。我想从集成的本机 Objective-C 代码中加载 JS 屏幕组件。
我尝试使用RCTLinkingManager
但我不知道如何获取应用程序实例和选项。
[RCTLinkingManager application:app openURL:url options:options];
我怎么做?
解决方案
好的,我在 React Native 源代码中找到了解决方案。
RCTLinkingManager.application
使用postNotificationWithURL
函数 lo 在应用程序中加载 URL。
...
static NSString *const kOpenURLNotification = @"RCTOpenURLNotification";
static void postNotificationWithURL(NSURL *URL, id sender)
{
NSDictionary<NSString *, id> *payload = @{@"url": URL.absoluteString};
[[NSNotificationCenter defaultCenter] postNotificationName:kOpenURLNotification
object:sender
userInfo:payload];
}
...
就是这样了!调用该函数,您可以加载一个 js 屏幕组件。它也适用于反应导航。
推荐阅读
- image - 运行我的 codeigniter 应用程序的 docker 映像时出现问题
- flutter - Firestore如何将数据保存在子集合中
- c++ - 素数的布尔函数总是返回真
- linux - 如何将文件夹的全部内容移动到其子文件夹
- python-3.x - cv2.error : OpenCV(4.5.3) 错误:错误参数和重载解析在 cv.line 中失败
- python - 为什么我的 Python 数据类没有正确初始化布尔值?
- oracle - Oracle 内存列存储没有改进 SELECT 查询?
- c# - 如何在模态中触发模型验证?.NET 5
- javascript - 我可以延迟加载 html 卡吗?/我想在滚动时渲染它
- jquery - 在ajax json函数中使用jquery从动态表格单元格中选择一行