React Native MainActivity.java createApplicationDelegate() 如何合并两个必要的方法

Mr *_*lis 1 java android-activity react-native

在最近的react native 0.71.3升级中,升级的一部分是添加了一个方法:

@Override
  protected ReactActivityDelegate createReactActivityDelegate() {
    return new DefaultReactActivityDelegate(
        this,
        getMainComponentName(),
        // If you opted-in for the New Architecture, we enable the Fabric Renderer.
        DefaultNewArchitectureEntryPoint.getFabricEnabled(), // fabricEnabled
        // If you opted-in for the New Architecture, we enable Concurrent React (i.e. React 18).
        DefaultNewArchitectureEntryPoint.getConcurrentReactEnabled() // concurrentRootEnabled
        );
  }
Run Code Online (Sandbox Code Playgroud)

说明是将其添加到MainActivity.java. 这一切都很好,但有一个问题:

我们的代码已经有了这个方法,但形式完全不同,它使用完全不同的机制

@Override
protected ReactActivityDelegate createReactActivityDelegate() {
  return new InitialPropsReactActivityDelegate(this, getMainComponentName()) {
      @Override
      protected ReactRootView createRootView() {
        return new RNGestureHandlerEnabledRootView(MainActivity.this);
      }
    };
  }
Run Code Online (Sandbox Code Playgroud)

我需要合并功能并返回 aReactActivityDelegate以及我们需要的一切。有没有人有如何正确执行此操作的经验?这让我难住了。

Mr *_*lis 5

我认为这确实有效

@Override
  protected ReactActivityDelegate createReactActivityDelegate() {
    return new DefaultReactActivityDelegate(
        this,
        getMainComponentName(),
        // If you opted-in for the New Architecture, we enable the Fabric Renderer.
        DefaultNewArchitectureEntryPoint.getFabricEnabled(), // fabricEnabled
        // If you opted-in for the New Architecture, we enable Concurrent React (i.e. React 18).
        DefaultNewArchitectureEntryPoint.getConcurrentReactEnabled() // concurrentRootEnabled
    ) {
      @Override
      protected ReactRootView createRootView() {
        return new RNGestureHandlerEnabledRootView(MainActivity.this);
      };
    };
  }
Run Code Online (Sandbox Code Playgroud)