是否可以仅将React Native用于项目中的一个视图?
我已成功为特定iOS应用屏幕添加了React视图(使用"与现有iOS项目集成的说明" docs),但我不知道如何从中获取数据屏幕并调用其他(objective-c)代码。例如,我想将旧的基于故事板的搜索表单替换为React视图,然后在用户点击时调用基于故事板的屏幕"搜索"。
或者它打算在React中创建所有视图,并将现有的非React视图转换为' native'组件(大型应用程序的巨大工作量)?
答案 0 :(得分:2)
这可以通过此处描述的Native Module概念轻松完成 - https://facebook.github.io/react-native/docs/nativemodulesios.html
您可以通过一次调用将obj-c方法导出到JS。
答案 1 :(得分:2)
我已按以下方式解决了我的问题:
在NSNotificationCenter周围创建本机模块包装器,所以 javascript代码可以发布iOS事件。
在ReactController-wrapper中围绕React-Native代码订阅该事件。
当用户点击«搜索»(当我们需要将控制权交还给objective-c时)提出事件,并将所需数据作为字典传递。
捕获事件,处理数据,打开其他控制器/等