Это была ошибка!

Если вы собираетесь использовать React 16, советуем обратить внимание на новую политику обработки ошибок рендера.

В 15ой версии ошибка мешала перерендериваться компоненту и всему поддереву, но оставляло его последнее состояние:
https://codepen.io/OlegChulakovStudio/pen/BYYjya

В 16ом релизе команда разработчиков приняла решение не оставлять компонент в дереве рендеринга и, более того, исключать все вышестоящие компоненты из него, пока не будет встречен компонент с новым методом жизненного цикла componentDidCatch (в 15ой версии он назывался handle_unstableError).

Таким образом, отсутствие компонентов-обработчиков теперь может привести к полному размонтированию дерева компонетов:
https://codepen.io/OlegChulakovStudio/pen/yvveyg

Мы подготовили демонстрацию применения такого компонента-обработчика (ErrorBoundary), который умеет подменять сломанный компонент другим, подготовленным заранее.

Сделано в Лаборатории Студии Чулакова

Студия Олега Чулакова

Дизайн-студия № 1 в России по версии Tagline, лучший usability / UX в стране по версии Золотого Сайта.

Специализируется на создании сложных систем и сервисов для крупных компаний. Среди клиентов Студии Tele2, ИКЕА, МегаФон, БКС Банк, Yota и другие крупнейшие российские бренды.