0

如何制作一个单独的组件(比如 MainContent.js),它根据Platform开始扫描信标,在 iPhone 上使用 kontaktio ios api,但在 android 手机上使用 kontaktio android api?

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

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

我不能在一个代码文件中做到这一点,因为我需要为每个平台导入不同的东西并设置不同的常量。但结果是一样的。我确定了附近的信标并设置了一些状态。(例如通过 Redux)。

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

4

1 回答 1

0

好的。从这里的这些答案:我可以在 React Native 中需要一个专门用于 iOS 的模块吗?我学会了制作 AppMain.ios.js 和 AppMain.android.js 并自动反应原生选择正确的。

我必须在我的设备上卸载最新的应用程序,然后gradlew cleanandroid目录中做了一个,然后像往常一样在设备上运行,一切正常。对于iphone也是如此。

于 2018-08-19T08:38:25.930 回答