Как я понимаю React Error Boundaries, это компоненты, которые реализуют componentDidCatch
. Ошибка в дереве компонентов всплывает до первой границы ошибки, где ее можно обработать (например, отображая сообщение об ошибке).
Однако теперь у меня есть следующая ситуация:
<OuterBoundary>
<...>
<InnerBoundary>
<...>
<FaultyComponent />
</...>
</InnerBoundary>
</...>
</OuterBoundary>
И OuterBoundary
, и InnerBoundary
являются границами ошибок. Когда ошибка возникает в FaultyComponent
, эта ошибка перехватывается в InnerBoundary
, как и ожидалось. Там он регистрируется на сервере, но мы не отображаем никаких сообщений об ошибках. Впоследствии, похоже, ошибка еще больше всплывает, а затем снова фиксируется в OuterBoundary
.
Документация React, по-видимому, указывает на то, что одна граница ошибки действительно является границей. Ошибка, обнаруженная componentDidCatch
, больше не всплывает.
Почему в нашем случае пузыриться и при каких обстоятельствах возникнет ошибка?