Насколько React ErrorBoundary действительно является границей?

Насколько я понимаю границы ошибок React, это компоненты, которые реализуют componentDidCatch. Ошибка в дереве компонентов всплывает до первой границы ошибки, где ее можно обработать (например, путем отображения сообщения об ошибке).

Однако сейчас у меня такая ситуация:

<OuterBoundary>
  <...>
    <InnerBoundary>
      <...>
        <FaultyComponent />
      </...>
    </InnerBoundary>
  </...>
</OuterBoundary>

Обе OuterBoundary а также InnerBoundaryявляются границами ошибок. Когда ошибка происходит вFaultyComponent, эта ошибка улавливается InnerBoundary, как и ожидалось. Там он регистрируется на сервере, но мы не отображаем никаких сообщений об ошибках. Впоследствии ошибка, кажется, снова всплывает, а затем снова обнаруживается вOuterBoundary.

Документация React, похоже, указывает, что одна граница ошибки действительно является границей. Ошибка, обнаруженнаяcomponentDidCatch дальше не пузырится.

Почему в нашем случае возникает ошибка и при каких обстоятельствах она может всплывать?

0 ответов

Другие вопросы по тегам