[Fix] Prevent useEffect infinite loops #3174
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.
This PR fixes a problem I noticed in some components in the Advanced screen that include the state variable as a dependency for useEffects that update that state. This can lead to infinite loops and it's not correct to do it.
This can be seen when running a clean install of Heroic and going to Settings > Advanced, there's an infinite loop in the dev tools console.
This is solved once the experimental features are modified, but we shouldn't have this loop to begin with.
The useEffect that updates the Copy to clipboard status is safe because it returns early if false so it doesn't call a state setter.
Use the following Checklist if you have changed something on the Backend or Frontend: