admin: don't use state change to update offset #4815
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.
set offset -> request page -> response sets offset is a recipe for races
instead, send request with new offset and only update offset state based on the actual loaded data
made easier by consolidating page update requests into single loadPageData
this also fixes the problem where the pagination info would be updated before the content, so as seen in #4180, it would go:
by detaching the "request next page" from the state cycle, the looping requests shouldn't happen. I tried to solve this in general by debouncing
loadPageData
, but had a hard time figuring that out. And offset is really the only state variable that's an input to the request which can also be set to a new value by the response.closes #4810