Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/97.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何使需要特定导入的混合包React/React原生_Ios_Reactjs_React Native_Require - Fatal编程技术网

Ios 如何使需要特定导入的混合包React/React原生

Ios 如何使需要特定导入的混合包React/React原生,ios,reactjs,react-native,require,Ios,Reactjs,React Native,Require,是否可以为React和React Native创建需要特定导入的混合包,例如使用React Native,我必须导入AsyncStorage,但React(使用localStorage)不需要此包 所以我想知道,如果应用程序是React Native或not,那么使用条件检测来处理这两种情况是否可行。为了检测应用程序是否React Native,您需要使用特定于平台的逻辑。根据,您应该能够通过以下方式进行检查: navigator.product==='ReactNative' 有关特定平台,请

是否可以为React和React Native创建需要特定导入的混合包,例如使用React Native,我必须导入AsyncStorage,但React(使用localStorage)不需要此包


所以我想知道,如果应用程序是React Native或not,那么使用条件检测来处理这两种情况是否可行。

为了检测应用程序是否React Native,您需要使用特定于平台的逻辑。根据,您应该能够通过以下方式进行检查:

navigator.product==='ReactNative'

有关特定平台,请参见此处:

对于那些对未来感兴趣的人来说,如果库的实现需要React的特定导入和React Native的特定导入,但不能混合使用,那么您需要为库创建一个存储,如果它可以用React代码初始化,您可以在代码中初始化并创建一个setter函数,该函数将创建一个新的存储来注入特定的依赖项。

我对它进行了测试,效果很好,但我仍然需要导入库,以防它是否为react native。动态导入是通过
require
完成的。请看这里:实际上已经通过在上下文中注入库的全局变量解决了这个问题。