mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
Fix Switch causing RetryableMountingLayerException (#32602)
Summary: Added a null check to native.value in Switch to fix regression from RN 66 -> stuck operation in mViewCommandOperations list in Android Release on initial layout of a screen with Switch component. If approved, please incorporate this fix into an RN 66 release. ## Changelog [Android][Fixed] - Added a null check to native.value in Switch to fix https://github.com/facebook/react-native/issues/32594 Pull Request resolved: https://github.com/facebook/react-native/pull/32602 Test Plan: To reproduce, put a log in UIViewOperationQueue in dispatchViewUpdates you can see that the RetryableMountingException is no longer thrown for a screen with the Switch component on Android Release. As a result, mViewCommandOperations no longer has a stuck operation on initial layout. Reviewed By: charlesbdudley Differential Revision: D34397788 Pulled By: lunaleaps fbshipit-source-id: 1cee3516fb987942dfa50ad1f2d11c965a947f05
This commit is contained in:
committed by
Andrei Shikov
parent
762db49ded
commit
63e4bd655a
@@ -170,7 +170,8 @@ const SwitchWithForwardedRef: React.AbstractComponent<
|
||||
// that the update should be ignored and we should stick with the value
|
||||
// that we have in JS.
|
||||
const jsValue = value === true;
|
||||
const shouldUpdateNativeSwitch = native.value !== jsValue;
|
||||
const shouldUpdateNativeSwitch =
|
||||
native.value != null && native.value !== jsValue;
|
||||
if (
|
||||
shouldUpdateNativeSwitch &&
|
||||
nativeSwitchRef.current?.setNativeProps != null
|
||||
|
||||
Reference in New Issue
Block a user