error-boundaries¶
Проверяет, что для ошибок в дочерних компонентах используются границы ошибок, а не try/catch.
Подробности правила¶
Блоки try/catch не ловят ошибки, которые возникают в процессе рендеринга React. Ошибки, выброшенные в методах рендера или хуках, всплывают по дереву компонентов. Поймать их могут только границы ошибок.
Неверно¶
Примеры неверного кода для этого правила:
1 2 3 4 5 6 7 8 | |
Верно¶
Примеры верного кода для этого правила:
1 2 3 4 5 6 7 8 | |
Устранение неполадок¶
Почему линт запрещает оборачивать use в try/catch?¶
Хук use не выбрасывает ошибки в обычном смысле: он приостанавливает выполнение компонента. Когда use встречает ещё не завершённый промис, он приостанавливает компонент и позволяет React показать фолбэк. Такие случаи обрабатывают только Suspense и границы ошибок. Линт предупреждает о try/catch вокруг use, чтобы не было путаницы: блок catch никогда не выполнится.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | |
Источник — https://react.dev/reference/eslint-plugin-react-hooks/lints/error-boundaries