fix: Fix Grid scrollToCell method not working if a scrollTop prop is defined, which is usual for WindowScroller usage#1894
Open
driskell wants to merge 1 commit into
Conversation
…defined, which is usual for WindowScroller usage
d0ff75b to
4ef9cab
Compare
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.
npm test) all passyarn run prettier).yarn run typecheck).NOTE: AI was used to help build the test. The fix is completely my own.
This fixes #1893
The issue is that WindowScroller requires you to pass scrollTop prop. And in React 16.4+ getDerivedStateFromProps calls on every prop AND state change. So what happens is that once a scrollToCell method is called and everything updated, the final update before componentDidUpdate kicks in to update scroll position causes getDerivedStateFromProps to call but that then detects scrollTop and resets everything.
The fix is for getDerivedStateFromProps to only obey scrollTop/scrollLeft when they change.
Test added that fails without the fix.