ENH add react boundary to catch rendering errors #24
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.
Previously, errors within React functional components cannot be caught properly, e.g. this widget. They will thus not be displayed on the canvas which is undesired.
This PR wraps each user widget component with an error boundary using
react-error-boundary
, which is recommended in the docs. The rendering would look like this:Note, however, that the error will still exist in the console (xref facebook/react#15069). May not matter that much for end users, but would be somehow annoying for debugging if it keeps spamming up the console.
Some other arguable points of this PR are:
grabErrorInfo
put in the right place? Is it correct to have twoutils
module organized like this?