我如何在运行时有条件地添加任何特定的React Package?

时间:2019-11-20 13:28:51

标签: android react-native

我有一些现有的React Packages作为库添加到我当前的React Native应用程序中。

现在,仅当满足以下特定条件时才需要添加软件包之一:

条件:如果'isXPackageRequired'为true,则仅应将其添加为react软件包列表。 但是此属性在javascript代码中,并且只能从redux存储中读取。

以下是我添加反应包的代码:

public class MainApplication extends Application implements ReactApplication {

  private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) {
    @Override
    public boolean getUseDeveloperSupport() {
      return BuildConfig.DEBUG;
    }

    @Override
    protected List<ReactPackage> getPackages() {
      List<ReactPackage> reactPackages = Arrays.<ReactPackage>asList(
              new MainReactPackage(),
              ...,// Some other Packages
             );
     // Here how can i get that redux variable to conditionally include myXPackage
      if(**CONDITION WITH JAVASCRIPT VARIABLE:isXPackageRequired**){
         reactPackageList.add(new MyXPackage());
      }
   }
}

或者,还有其他地方可以删除此软件包(如果已添加)吗?如何?

我本来可以从buildConfig读取的,如果它是静态的或基于环境的,则询问是在运行时,以及我们的redux存储中是否具有所需的属性。

我研究了很多,但是没有运气。任何优雅的解决方案将不胜感激。

先谢谢了。

0 个答案:

没有答案