Я использую «реагировать-Google-карты"
На моей странице есть несколько флажков и один компонент GoogleMap.
Когда я обновляю состояние реакции после того, как я нажимаю флажок. GoogleMap будет размонтирован и снова подключен. GoogleMap не использует состояние, которое можно изменить с помощью флажка. но GoogleMap все еще перемонтирует.
Самое странное, что GoogleMap размонтируется. Я думаю, что GoogleMap должен повторно сделать. Затем я могу использовать shouldComponentUpdate()
для предотвращения повторного рендеринга GoogleMap. но он вызывает отключение, когда я устанавливаю состояние с состоянием, которое не относится к GoogleMap.
Я объявляю GoogleMapDOM
в функции render
, и я использую GoogleMapDOM
в html как ''. Я думаю, что это вызвано объявить GoogleMapDOM
на render
. Я проверю это.
фрагмент функции рендеринга ()
const GoogleMapDOM = compose(
withProps({
googleMapURL: googleApiUrl,
loadingElement: <div style={{ height: `100%` }} />,
containerElement:<div style={{ height: 600, width: 800 }} />,
mapElement: <div style={{ height: `100%` }} />,
}),
withStateHandlers(() => ({
isInfoWindowOpen: [],
}), {
onToggleOpen: ({ isInfoWindowOpen }) => () => ({
isInfoWindowOpen: !isInfoWindowOpen,
})
}),
lifecycle({
componentWillReceiveProps(nextProps) {
console.log('componentWillReceiveProps')
},
}),
withScriptjs,
withGoogleMap
)((props) => {
return (
<GoogleMap>
{/* The code is omitted */}
<GoogleMap />
)});
Может кто-нибудь мне поможет? Благодаря.