我正在创建一个应用程序,其中我有一个Overlay组件和一个Map组件渲染,就像这样:
country
显示叠加层以使地图加载到下方,但是当我删除叠加层(此处将showOverlay设置为false)时,year
组件会重新加载。
起初我认为<div>
{showOverlay && <Overlay />}
<Map /> // this component should mount once
</div>
组件只是重新渲染,但经过一些挖掘后我发现组件实际上正在重新安装。
如果我使用Map
,Map
和componentWillMount
方法登录,则日志按此顺序显示(这似乎相互矛盾)
componentWillUnmount
父级不重新装载,只有render
组件可以。
Map组件只渲染一个引用mapbox-gl-js地图的div(就像这个https://gist.github.com/tristen/5c4b346ae38892f732504e6785d87057#file-map-js)
什么可能导致我的组件像这样重新安装?
谢谢!