У меня есть карта «Листовка-реакция» с некоторыми маркерами. При нажатии на маркер открывается всплывающее окно. Когда вы щелкаете или закрываете всплывающее окно, мне нужно знать, когда оно закрыто, чтобы определить, открыто ли оно.
генерация маркера выглядит как код ниже. Маркер и Popup взяты из «ответной листовки», SiteForm - мой код.
var markers = this.props.sites.map((item, i) => {
<Marker icon={icon} key={i} position={{ lng: co[0], lat: co[1] }}>
<Popup>
<SiteForm item={item} />
</Popup>
</Marker>
}
в componentDidMount в Siteform Я могу сказать, когда открывается всплывающее окно, но componentWillUnmount не запускается при закрытии всплывающего окна.
Я пытался расширить маркер, но это плохая практика, и я также не смог выйти за пределы символа маркера. Я также попытался обернуть Popup в компоненте, но componentDidMount запускается на каждом маркере, когда страница загружается, а не открывается всплывающее окно.