refactor: introduce react-query on api resource hook #21240
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.
SUMMARY
#13218 introduced a hook for api resources. The main purpose of the hook is for a state management for async api request and transformed a return data to a desired format. As @ktmud suggested, react-query includes these specs and also provides the global cache storage.
This commit introduces
react-query
to design a new api resource for tables query first.With the react-query hook, sqlLab can skip the duplicate request for table list on switching each tab. (And it can save the request table query in dataset configuration modal)
After this commit merged, we can replace existing charts and database hooks by
react-query
too.BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF
-Before:
before--react-query.mov
after--react-query.mov
TESTING INSTRUCTIONS
unit tests
ADDITIONAL INFORMATION
cc: @suddjian