在Javascript中,我通过调用UIManager.createView() / manageChildren()
建立了本机树。我想将此树插入一个占位符组件,但我不知道如何。我可以访问顶级本地视图的native标签。在我的render()
方法中,如果我创建一个占位符组件并尝试分配其子对象,如下所示:
...
innerView = (
<InnerView />
);
UIManager.setChildren(innerView._nativeTag, [dynamicRootTag]);
然后它失败了,因为InnerView虽然是用requireNativeComponent(...)
进行了本机支持的组件,但实际上并没有_nativeTag属性供我抓取。
更新:
我还尝试使用RCT_CUSTOM_VIEW_PROPERTY
来将动态根标记传递到本机端,这似乎很好,然后使用它从RCTUIManager
中检索相应的UIView *,返回为非null。但是,即使我显然可以成功调用[view insertReactSubview: atIndex:]
并将该视图传递到我的容器中,它实际上并没有最终呈现在屏幕上。