从本机端访问 React 本机视图
Posted
技术标签:
【中文标题】从本机端访问 React 本机视图【英文标题】:Access to a React native view from native side 【发布时间】:2016-06-08 16:27:32 【问题描述】:我想从 React native(带有子的 React 组件)创建和管理一个视图,并将其作为子视图重用在用 Objective C 创建的 UIViewController 中。
有可能吗?
【问题讨论】:
【参考方案1】:确实有可能,但可能不是你想的那样。
如果您查看 React Native 应用程序的 AppDelegate
代码,您可以看到 RCTRootView
- 它只是一个常规的 UIView
子类 - 设置为根视图控制器的视图。然后该视图占据整个屏幕。
您可以使用相同的技术并将您自己的RCTRooView
作为您自己的UIViewController
的子视图,并使用自动布局或您喜欢的任何方法设置其大小。
你只需要告诉RCTRootView
来加载你的模块,该模块会呈现你的自定义 React Native 组件。
请注意,您不应该尝试弄乱RCTRootView
中的视图并将它们移动到RCTRootView
之外您自己的层次结构中的另一个位置。
【讨论】:
是的,你是对的。我最终找到了解决方法。我创建了两个不同的 RCTRootView,每个都针对不同的 JS 模块。我的 React 原生 JS 代码: AppRegistry.registerComponent('MyAppMain', () => MyAppMainModule); AppRegistry.registerComponent('MyAppSecond', () => MyAppSecondModule);感谢您的帮助:)以上是关于从本机端访问 React 本机视图的主要内容,如果未能解决你的问题,请参考以下文章
React 本机可访问性状态扩展正在被 Android 的 VoiceView 读出,而不是 iOS 的 VoiceOver
react-native-view-shot:NativeModules.RNViewShot 未定义。确保库在本机端链接