React Native 0.61.0 中的 MainApplication.java

gke*_*ley 7 javascript package reactjs react-native

我正在将我的项目从 React Native 0.59.9 迁移到 0.61.0 (不建议,但我有我自己的原因)。在我现有的项目中,我有以下代码MainApplication.java

@Override
protected List<ReactPackage> getPackages() {
  return Arrays.<ReactPackage>asList(
      new MainReactPackage(),
      RollbarReactNative.getPackage(),
      new VectorIconsPackage(),
      new RNTextInputMaskPackage(),
      new SplashScreenReactPackage(),
      new RNSensitiveInfoPackage(),
      new ReactNativeRestartPackage(),
      new PickerViewPackage(),
      new LinearGradientPackage(),
      new ImagePickerPackage(),
      new RNGestureHandlerPackage(),
      new RNDeviceInfo(),
      new A0Auth0Package(),
      new AsyncStoragePackage()
  );
}
Run Code Online (Sandbox Code Playgroud)

MainApplication.javav0.61.0 中,自动生成以下代码(对应于上面的代码):

@Override
protected List<ReactPackage> getPackages() {
  @SuppressWarnings("UnnecessaryLocalVariable")
  List<ReactPackage> packages = new PackageList(this).getPackages();
  // Packages that cannot be autolinked yet can be added manually here, for example:
  // packages.add(new MyReactNativePackage());
  return packages;
}
Run Code Online (Sandbox Code Playgroud)

我将代码第一部分中的包添加到第二部分是否有意义,例如:

@Override
protected List<ReactPackage> getPackages() {
  @SuppressWarnings("UnnecessaryLocalVariable")
  List<ReactPackage> packages = new PackageList(this).getPackages();
  // Packages that cannot be autolinked yet can be added manually here, for example:
  // packages.add(new MyReactNativePackage());
  packages.add(new MainReactPackage())
  packages.add(RollbarReactNative.getPackage())
  packages.add(new VectorIconsPackage())
  packages.add(new RNTextInputMaskPackage())
  packages.add(new SplashScreenReactPackage())
  packages.add(new RNSensitiveInfoPackage())
  packages.add(new ReactNativeRestartPackage())
  packages.add(new PickerViewPackage())
  packages.add(new LinearGradientPackage())
  packages.add(new ImagePickerPackage())
  packages.add(new RNGestureHandlerPackage())
  packages.add(new RNDeviceInfo())
  packages.add(new A0Auth0Package())
  packages.add(new AsyncStoragePackage())
  return packages;
}
Run Code Online (Sandbox Code Playgroud)

这有道理吗?

Ade*_*own 11

您无需再添加软件包。RN0.60及以上支持自动链接。我注释掉了我的包,因为不再需要它们。 在此输入图像描述

如果添加它们,您肯定会收到如下图所示的类似警告。 在此输入图像描述