Range slider, additional useEffect dependencies #573
Merged
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.
This commit adds min and max values to useEffect dependencies. The change relates to an issue with multiple render cycles, for example while updating table's input data over time before user has a chance to interact with the sliders. If client code updates the table's data set, that triggers another render. If the original data set (on the first render of the component) had zero rows, then filterValues will be set to [0,0] indefinitely (and makes the slider heads appear over each others in zero position) until the user manipulates the sliders in the UI. If the client code pushes in a new data set before the user manipulates the slider in the UI, filterValues will not be updated, since the useEffect does not listen to it, and useState's initial value is set only on the first render. The issue is fixed when user ends a slider drag in the UI, which in turn triggers onChangeCommitted, which calls column.setFilterValue, which sets up the sliders correctly.