fix: RecordVersionsList fetch versions only once #2664
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.
❤️ Thank you for your contribution!
Description
Opening the landing page of any record currently fetches 4 times the list of versions from the API:
The problem is due to the
fetchVersions
andcancellableFetchVersions
(wrongly namedcancellableFetchCitation
) functions being recreated at every render (when the state changes).This pull request moves the fetching functions inside
useEffect
, so that they are created only within the scope ofuseEffect
and don't need to be declared as a dependency. The version is now only fetched once (since the props on whichrecordDeserialized.links.versions
andrecid
don't change).Checklist
Ticks in all boxes and 🟢 on all GitHub actions status checks are required to merge:
Frontend
Reminder
By using GitHub, you have already agreed to the GitHub’s Terms of Service including that: