如果在调用OverlayTrigger
道具时,如何阻止react-bootstrap
overlay
组件卸载其onHide
组件?这是显示Popover
的组件。这不是Popover
的问题,因为设置overlay={<ComplexComponent />}
导致每次触发ComplexComponent
时都会安装OverlayTrigger
的相同问题。
这是我正在尝试的简化版本:
const overlay = (<Popover id="some-random-id">
<ComplexComponent />
</Popover>;
<OverlayTrigger
trigger={['hover', 'focus']}
placement="top"
overlay={overlay}
>
<span>trigger label</span>
</OverlayTrigger>
我需要隐藏覆盖而不是卸载覆盖的原因是ComplexComponent
在componentWillMount
上进行服务调用并且需要花费大量时间来执行初始提取。我考虑使用refs
,但没有提出足够好的策略。