情况:我正在开发一个针对同一应用程序具有不同版本的 React Native 项目。为此,我将使用适用于 Android 的应用程序风格,而对于 iOS,我将使用构建目标。我已经制作了一个本机 android 模块,可以返回正在使用的 android 构建风格。我的目标是能够导入不同的 React 组件来显示每种风格。
问题:我最初的想法是有条件地导入 React Native 组件以显示每种风格,但我逐渐了解到条件导入不是 JavaScript 中的东西,它们必须位于顶级范围。有没有办法解决这个问题,而无需为每个构建导入每个文件? (我想避免通过导入仅在应用程序的其他风格中使用的组件来使二进制文件变得更大)。
我想做的事:
import { NativeModules } from 'react-native';
var appFlavor;
NativeModules.RNVariantsLib.getBuildFlavor((err ,flavor) => {
console.log('flavor ' + flavor);
appFlavor = flavor;
});
if(appFlavor == 'flavorA'){
import Component from './a';
}
if(appFlavor == 'flavorB'){
import Component from './b';
}
export default Component;
你可以尝试使用 require
let Component = null;
if(appFlavor == 'flavorA'){
Component = require('./a');
}
if(appFlavor == 'flavorB'){
Component = require('./b');
}
export default Component;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)