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.
Describe Your Changes
Imports Adjustments:
useCallback
is added to the existing imports from React.New Refs Introduced:
prevScrollTop
: Added as auseRef
to track the previous scroll position.isUserManuallyScrollingUp
: Added as auseRef
to flag when the user manually scrolls up.Effect Logic Update:
useEffect
to return early if the user is manually scrolling up or ifparentRef.current
is not defined.Virtualizer Adjustment Function:
shouldAdjustScrollPositionOnItemSizeChange
function to avoid adjustments if the user manually scrolls up.New Scroll Handler:
handleScroll
function is defined usinguseCallback
. It detects manual user scrolling by comparing the current scroll position with the previous one.prevScrollTop
.DOM Changes:
onScroll
event listener is added to adiv
element referring tohandleScroll
.These changes collectively add functionality to detect and handle user-initiated upward scrolling differently, enhancing the control over virtualized list interactions.
Fixes Issues
Screen.Recording.2024-12-10.at.11.26.48.mov
Self Checklist