We noticed that Popper was sometimes closing the dorpdown inaccurately.
This was pinned down to timeouts being incorrectly cleared, and thefore
sometimes running when they ought not to. Careful examination of the
code revealed that they weren't being tracked very well, and thus stomped on
or lost.
This approach leverages a ref to track the value to avoid loss during
re-renders, and to also avoid unnecessary re-renders.
Changes include
[ ] breaking change: a change that is not backwards-compatible and/or changes current functionality
[x] fix: a non-breaking change that solves an issue
[ ] feature: a non-breaking change that adds functionality
[x] chore: contains no changes affecting the library, such as documentation or test updates
Description
We noticed that Popper was sometimes closing the dorpdown inaccurately. This was pinned down to timeouts being incorrectly cleared, and thefore sometimes running when they ought not to. Careful examination of the code revealed that they weren't being tracked very well, and thus stomped on or lost.
This approach leverages a ref to track the value to avoid loss during re-renders, and to also avoid unnecessary re-renders.
Changes include
Feature checklist