javascript-在React.js和React Native应用程序之间重用代码

我想重用一些从两个应用程序的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代码检测将使您的代码变得不必要的复杂和难以支持.

上一篇:javascript-挂载后,ReactJS组件可以接收新属性或新状态.组件内部发生了什么变化?


下一篇:javascript-React Navigation:自下而上的过渡