Move View.js prop transformations to C++ prop parsing#55853
Closed
sammy-SC wants to merge 1 commit intofacebook:mainfrom
Closed
Move View.js prop transformations to C++ prop parsing#55853sammy-SC wants to merge 1 commit intofacebook:mainfrom
sammy-SC wants to merge 1 commit intofacebook:mainfrom
Conversation
eb89d24 to
5f2e5a5
Compare
sammy-SC
added a commit
to sammy-SC/react-native
that referenced
this pull request
Mar 3, 2026
Summary: Changelog: [Internal] `View.js` previously transformed `aria-*` props to `accessibility*` equivalents, `id` to `nativeID`, and `tabIndex` to `focusable` in JavaScript before passing to the native component. This diff moves all those transformations to the C++ prop parsing layer (`AccessibilityProps::setProp`, `Props::setProp`, and `HostPlatformViewProps::setProp`), making the JS wrapper thinner and faster. ## Benchmark Results (View vs ViewNativeComponent) | Component | Before (median ns) | After (median ns) | Change | | View | 666,750 | 546,917 | **-18%** | This change is gated for safe rollout. Reviewed By: NickGerleman Differential Revision: D94219577
sammy-SC
added a commit
to sammy-SC/react-native
that referenced
this pull request
Mar 3, 2026
Summary: Pull Request resolved: facebook#55853 Changelog: [Internal] `View.js` previously transformed `aria-*` props to `accessibility*` equivalents, `id` to `nativeID`, and `tabIndex` to `focusable` in JavaScript before passing to the native component. This diff moves all those transformations to the C++ prop parsing layer (`AccessibilityProps::setProp`, `Props::setProp`, and `HostPlatformViewProps::setProp`), making the JS wrapper thinner and faster. ## Benchmark Results (View vs ViewNativeComponent) | Component | Before (median ns) | After (median ns) | Change | | View | 666,750 | 546,917 | **-18%** | This change is gated for safe rollout. Reviewed By: NickGerleman Differential Revision: D94219577
cc2da2f to
f3241ce
Compare
sammy-SC
added a commit
to sammy-SC/react-native
that referenced
this pull request
Mar 3, 2026
Summary: Pull Request resolved: facebook#55853 Changelog: [Internal] `View.js` previously transformed `aria-*` props to `accessibility*` equivalents, `id` to `nativeID`, and `tabIndex` to `focusable` in JavaScript before passing to the native component. This diff moves all those transformations to the C++ prop parsing layer (`AccessibilityProps::setProp`, `Props::setProp`, and `HostPlatformViewProps::setProp`), making the JS wrapper thinner and faster. ## Benchmark Results (View vs ViewNativeComponent) | Component | Before (median ns) | After (median ns) | Change | | View | 666,750 | 546,917 | **-18%** | This change is gated for safe rollout. Reviewed By: NickGerleman Differential Revision: D94219577
sammy-SC
added a commit
to sammy-SC/react-native
that referenced
this pull request
Mar 3, 2026
Summary: Pull Request resolved: facebook#55853 Changelog: [Internal] `View.js` previously transformed `aria-*` props to `accessibility*` equivalents, `id` to `nativeID`, and `tabIndex` to `focusable` in JavaScript before passing to the native component. This diff moves all those transformations to the C++ prop parsing layer (`AccessibilityProps::setProp`, `Props::setProp`, and `HostPlatformViewProps::setProp`), making the JS wrapper thinner and faster. ## Benchmark Results (View vs ViewNativeComponent) | Component | Before (median ns) | After (median ns) | Change | | View | 666,750 | 546,917 | **-18%** | This change is gated for safe rollout. Reviewed By: NickGerleman Differential Revision: D94219577
37b9c1a to
962452e
Compare
sammy-SC
added a commit
to sammy-SC/react-native
that referenced
this pull request
Mar 4, 2026
Summary: Changelog: [Internal] `View.js` previously transformed `aria-*` props to `accessibility*` equivalents, `id` to `nativeID`, and `tabIndex` to `focusable` in JavaScript before passing to the native component. This diff moves all those transformations to the C++ prop parsing layer (`AccessibilityProps::setProp`, `Props::setProp`, and `HostPlatformViewProps::setProp`), making the JS wrapper thinner and faster. ## Benchmark Results (View vs ViewNativeComponent) | Component | Before (median ns) | After (median ns) | Change | | View | 666,750 | 546,917 | **-18%** | This change is gated for safe rollout. Reviewed By: NickGerleman Differential Revision: D94219577
962452e to
06d4cde
Compare
sammy-SC
added a commit
to sammy-SC/react-native
that referenced
this pull request
Mar 4, 2026
Summary: Pull Request resolved: facebook#55853 Changelog: [Internal] `View.js` previously transformed `aria-*` props to `accessibility*` equivalents, `id` to `nativeID`, and `tabIndex` to `focusable` in JavaScript before passing to the native component. This diff moves all those transformations to the C++ prop parsing layer (`AccessibilityProps::setProp`, `Props::setProp`, and `HostPlatformViewProps::setProp`), making the JS wrapper thinner and faster. ## Benchmark Results (View vs ViewNativeComponent) | Component | Before (median ns) | After (median ns) | Change | | View | 666,750 | 546,917 | **-18%** | This change is gated for safe rollout. Reviewed By: NickGerleman Differential Revision: D94219577
sammy-SC
added a commit
to sammy-SC/react-native
that referenced
this pull request
Mar 4, 2026
Summary: Pull Request resolved: facebook#55853 Changelog: [Internal] `View.js` previously transformed `aria-*` props to `accessibility*` equivalents, `id` to `nativeID`, and `tabIndex` to `focusable` in JavaScript before passing to the native component. This diff moves all those transformations to the C++ prop parsing layer (`AccessibilityProps::setProp`, `Props::setProp`, and `HostPlatformViewProps::setProp`), making the JS wrapper thinner and faster. ## Benchmark Results (View vs ViewNativeComponent) | Component | Before (median ns) | After (median ns) | Change | | View | 666,750 | 546,917 | **-18%** | This change is gated for safe rollout. Reviewed By: NickGerleman Differential Revision: D94219577
06d4cde to
bbc84bc
Compare
Summary: Changelog: [Internal] `View.js` previously transformed `aria-*` props to `accessibility*` equivalents, `id` to `nativeID`, and `tabIndex` to `focusable` in JavaScript before passing to the native component. This diff moves all those transformations to the C++ prop parsing layer (`AccessibilityProps::setProp`, `Props::setProp`, and `HostPlatformViewProps::setProp`), making the JS wrapper thinner and faster. ## Benchmark Results (View vs ViewNativeComponent) | Component | Before (median ns) | After (median ns) | Change | | View | 666,750 | 546,917 | **-18%** | This change is gated for safe rollout. Reviewed By: javache, NickGerleman Differential Revision: D94219577
bbc84bc to
897419c
Compare
|
This pull request has been merged in 7f7dbe7. |
Collaborator
|
This pull request was successfully merged by @sammy-SC in 7f7dbe7 When will my fix make it into a release? | How to file a pick request? |
zoontek
pushed a commit
to zoontek/react-native
that referenced
this pull request
Mar 9, 2026
Summary: Pull Request resolved: facebook#55853 Changelog: [Internal] `View.js` previously transformed `aria-*` props to `accessibility*` equivalents, `id` to `nativeID`, and `tabIndex` to `focusable` in JavaScript before passing to the native component. This diff moves all those transformations to the C++ prop parsing layer (`AccessibilityProps::setProp`, `Props::setProp`, and `HostPlatformViewProps::setProp`), making the JS wrapper thinner and faster. ## Benchmark Results (View vs ViewNativeComponent) | Component | Before (median ns) | After (median ns) | Change | | View | 666,750 | 546,917 | **-18%** | This change is gated for safe rollout. Reviewed By: javache, NickGerleman Differential Revision: D94219577 fbshipit-source-id: 6dee071a2a8caea533dbedd21a2294aec38307f2
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary:
Changelog: [Internal]
View.jspreviously transformedaria-*props toaccessibility*equivalents,idtonativeID, andtabIndextofocusablein JavaScript before passing to the native component. This diff moves all those transformations to the C++ prop parsing layer (AccessibilityProps::setProp,Props::setProp, andHostPlatformViewProps::setProp), making the JS wrapper thinner and faster.Benchmark Results (View vs ViewNativeComponent)
| Component | Before (median ns) | After (median ns) | Change |
| View | 666,750 | 546,917 | -18% |
This change is gated for safe rollout.
Differential Revision: D94219577