Что вызывает отключение моего компонента? - PullRequest
0 голосов
/ 07 мая 2018

Я создаю приложение, в котором у меня есть компонент «Наложение» и рендеринг компонента «Карта», например:

<div>
   {showOverlay && <Overlay />}
   <Map /> // this component should mount once
</div>

Оверлей показывает, что карта загружается снизу, но когда я удаляю Overlay (установите для showOverlay значение false), компонент Map перезагружается.

Сначала я подумал, что компонент Map просто рендеринг, но после некоторого копания я обнаружил, что компонент на самом деле перемонтируется.

Если я войду в методы componentWillMount, componentWillUnmount и render, журнал появится в таком порядке (что кажется противоречивым)

render
willUnmount
willMount

Родитель не перемонтирует, делает только компонент Map.

Компонент Map просто отображает div, который ссылается на карту mapbox-gl-js (например, https://gist.github.com/tristen/5c4b346ae38892f732504e6785d87057#file-map-js)

Что может заставить мой компонент перемонтировать себя таким образом?

Спасибо!

...