mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
Fix bridge mode by constructing ReactDelegate correctly. (#43999)
Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/43999 Currently NewArch-BridgeMode is partially broken when creating views via `ReactDelegate`. That's because we're using the ctor that doesn't account for `Boolean: fabricEnabled`. That means that the `RootView` that it will be created are all having setIsFabric(FALSE). This is causing problems like whitescreens on several reload + multiple warnings such as: ``` E com.facebook.react.bridge.ReactNoCrashSoftException: Cannot get UIManager because the context doesn't contain an active CatalystInstance. ``` Fixes #43692 See for more context on this issues: https://github.com/facebook/react-native/issues/43692 Changelog: [Android] [Fixed] - Fix bridge mode by constructing ReactDelegate correctly Reviewed By: cipolleschi Differential Revision: D55921078 fbshipit-source-id: 2c21d089a49538402d546177bcdb26c8d7d5fbc1
This commit is contained in:
+5
-1
@@ -109,7 +109,11 @@ public class ReactActivityDelegate {
|
||||
} else {
|
||||
mReactDelegate =
|
||||
new ReactDelegate(
|
||||
getPlainActivity(), getReactNativeHost(), mainComponentName, launchOptions) {
|
||||
getPlainActivity(),
|
||||
getReactNativeHost(),
|
||||
mainComponentName,
|
||||
launchOptions,
|
||||
isFabricEnabled()) {
|
||||
@Override
|
||||
protected ReactRootView createRootView() {
|
||||
return ReactActivityDelegate.this.createRootView(launchOptions);
|
||||
|
||||
@@ -45,6 +45,15 @@ public class ReactDelegate {
|
||||
|
||||
private boolean mFabricEnabled = false;
|
||||
|
||||
/**
|
||||
* Do not use this constructor as it's not accounting for New Architecture at all. You should
|
||||
* either use {@link ReactDelegate#ReactDelegate(Activity, ReactHost, String, Bundle)} if you're
|
||||
* on bridgeless mode or {@link ReactDelegate#ReactDelegate(Activity, ReactNativeHost, String,
|
||||
* Bundle, boolean)} and use the last parameter to toggle paper/fabric.
|
||||
*
|
||||
* @deprecated Use one of the other constructors instead to account for New Architecture.
|
||||
*/
|
||||
@Deprecated
|
||||
public ReactDelegate(
|
||||
Activity activity,
|
||||
ReactNativeHost reactNativeHost,
|
||||
|
||||
Reference in New Issue
Block a user