[Fabric] Implement snapToInterval property for ScrollView #14847
+61
−5
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.
Description
Type of Change
Why
Implement snapToInterval property for ScrollView in Fabric
Resolves #13150
What
https://reactnative.dev/docs/scrollview#snaptointerval

The
snapToInterval
property was available in the Paper implementation viaScrollViewManager.cpp
but was missing from the Fabric implementation inScrollViewComponentView.cpp
. This meant that developers using the new architecture couldn't use interval-based snapping behavior.Solution
Added comprehensive support for
snapToInterval
that:updateProps()
to check forsnapToInterval
changes alongside existing snap propertiesupdateSnapPoints()
helper method that converts interval values to discrete snap point offsetsupdateContentVisualSize()
to recalculate snap points when content size changessnapToOffsets
takes priority oversnapToInterval
Implementation Details
Testing
Playground tested
Changelog
Should this change be included in the release notes: yes
Add a brief summary of the change to use in the release notes for the next release.
Implement snapToInterval property for ScrollView in Fabric
Microsoft Reviewers: Open in CodeFlow