我想重用一些从两个应用程序的API检索数据的代码.一个是使用React Native的iOS应用.另一个是使用React.js的网站.
最初,我在构建iOS应用时对从API检索数据的类进行了编码.因此,我使用了React Native中可用的fetch方法.
不幸的是,React.js中没有这样的方法.
如果我想重用我的代码,最好的选择是通过使用方法fetch创建一个类HTTPRequests来抽象化React Native的fetch方法的调用,该方法将根据lib调用React Native的fetch方法或’$.get’方法由项目使用:React.js或React Native.
我的问题是:我如何在我的项目中检测React.js或React Native的使用.我的第一个想法是检测我的JS代码是否通过RCTRootView引擎或浏览器执行.但是我不知道如何实现这一目标.
有什么建议吗?
谢谢!
解决方法:
我的建议是将共享逻辑移到单独的模块(bower,npm,ES6)中,概括通过获取polyfill请求数据的方式,并且永远不要在项目中检测React / React.native.当新版本的React / React.native出现时,JS代码检测将使您的代码变得不必要的复杂和难以支持.