Fixed Join/Joined button flicker during state transitions #496
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.
Fixes Join club and Register event transitioning #453
Problem:
The Join/Joined button reverted to its previous label after loading for a brief time period. I believe this is happening due to the stale React query data during refetching. This causes the component to render again using that stale value, resulting in temporary reappearance of the initial label.
Join -> Loading -> Join -> Joined
Joined -> Loading -> Joined -> Join
Solution:
I was able to implement an optimistic UI state for the join button. The button label updates immediately on click by the user and while that action is pending, the UI reflects the expected next state. If there is error, the UI will roll back. This removes that flicker.
Testing: