Tokens: Move renderEntry hook calls into its own component & fix crash #1171
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.
Moves renderEntry hook calls and & UI depending on these into its own component, to avoid breaking the rules of hooks. Fixes #1170
Right now there's a bug that's breaking Token Manager apps with more than 10 holders (the pagination threshold) live on Mainnet; when switching to the last tab, a React error will appear, saying that a different amount of hooks were rendered, compared to the previous render. This breaks the rules of hooks, and subsequently, the app throws.
The reason this happens is actually documented on the aragonUI docs for the
DataView
component: the props marked withrender
should never hold hooks as they're called conditionally. The solution is to move the breaking parts of this function to a component.