Trigger Re-Render when Scrollability Changes and PermanentTrack is Enabled #172
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
There is an edge case that exists where if permanentTrackY/X is enabled and the scrollability of the child content changes, a re-render is not triggered and therefore the component remains in its previous scrollable state. This happens because the primary place where a re-render is triggered in the update method is from updating the state only when scrollbar visibility has changed. This obviously never happens when permanentTrackX/Y is enabled. This PR adds a check for if the scrollability has changed and forced a re-render if it has.
Use case
This addresses issue #171 and can be replicated in https://codesandbox.io/s/sharp-engelbart-fnc2e?file=/src/App.js. It is applicable in situations when the scrollability of the underlying content changes, such as with dynamic content.
Type of change
Checklist
yarn test
) - tests were already not passing. this did not cause any additional tests to fail.