Description
Describe the bug
I'm using Suspense and ErrorBoundaries and I'm seeing unexpected behavior when queries are erroring. If a query errors I'm displaying an ErrorBoundary for that part of the UI. Now if I navigate to another page using react-router-dom and navigate back to the page, the ErrorBoundary is still there and the query is not retried. I know that normally you would have to reset the error boundary while you are on the same page to trigger a re-run of the failed queries, but in this case I would've assumed that the queries are retried when I visit the page again, i.e. the components are mounted again.
To Reproduce
- Visit the Code Sandbox
- Open the console
- Wait until the error occurs and the fallback of the ErrorBoundary is shown: "An error occured!" (You need to click off of react-error-overlay to see it)
- Press the "Hide" button to unmount the ErrorBoundary
- Press the "Show" button to render it again
- Query is not re-executed and the error is immediately shown again
Expected behavior
The query is re-executed after the component mounts, i.e. honoring the retryOnMount
setting.
Desktop (please complete the following information):
- Version: 3.24.4