如何为 android 和 ios 单独反应原生 kontaktio

how to single react native kontaktio for android and ios

如何制作一个根据 Platform 分支的单个组件(例如 MainContent.js)以开始扫描信标,使用 kontaktio ios api , 在 iphone 上,但在 android phone 上使用 kontaktio android api?

在 componentDidMount() 中配置扫描并设置回调,并且扫描本身也在 componentDidMount() 中启动。

但是 ios kontaktio api 使用 NativeEmitter 并且 api 与使用 DeviceEmitter 并且具有非常不同的 android kontaktio api事件、方法和结构(例如使用 connect() 而不是 init())。

我无法在一个代码文件中执行此操作,因为我需要导入不同的东西并为每个平台设置不同的常量。但结果是一样的。我在附近识别了一个信标并设置了一些状态。 (例如通过 Redux)。

可能有一种简单的方法来做到这一点,这很可能是一个愚蠢的问题,但不知何故我想不出一种方法来做到这一点,因为组件不是可视的并且没有 "render"。

好的。从这里的这些答案:Can I require a module specifically for iOS in React Native? 我学会了制作一个 AppMain.ios.js 和一个 AppMain.android.js 并自动反应本机选择正确的。

我不得不在我的设备上卸载最新的应用程序,然后在 android 目录中执行 gradlew clean,然后像往常一样在设备上执行 运行,一切正常。同样对于 iphone。