Если вы собираетесь использовать React 16, советуем обратить внимание на новую политику обработки ошибок рендера.
В 15ой версии ошибка мешала перерендериваться компоненту и всему поддереву, но оставляло его последнее состояние:
https://codepen.io/OlegChulakovStudio/pen/BYYjya
В 16ом релизе команда разработчиков приняла решение не оставлять компонент в дереве рендеринга и, более того, исключать все вышестоящие компоненты из него, пока не будет встречен компонент с новым методом жизненного цикла
componentDidCatch (в 15ой версии он назывался handle_unstableError).Таким образом, отсутствие компонентов-обработчиков теперь может привести к полному размонтированию дерева компонетов:
https://codepen.io/OlegChulakovStudio/pen/yvveyg
Мы подготовили демонстрацию применения такого компонента-обработчика (
ErrorBoundary), который умеет подменять сломанный компонент другим, подготовленным заранее.