Реагируйте на карты Google
Может кто-нибудь дать мне знать, как изменить defaultCenter, который исходит из свойства по умолчанию. Как изменить свойство по умолчанию и динамически передавать значения с сервера.
class SimpleMap extends React.Component {
static defaultProps = {
center: {lat: 59.95, lng: 30.33},
zoom: 11
};
render() {
return (
<GoogleMapReact
defaultCenter={this.props.center}
defaultZoom={this.props.zoom}
>
)
}
}
1 ответ
Решение
Пожалуйста, переместите defaultCenter
из стандартных реквизитов в состояние компонента.
constructor(props) {
super(props)
this.state = {
center: {
lat: 59.95,
lng: 30.33
},
zoom: 11
}
}
оказывать
render() {
return (
<GoogleMapReact
defaultCenter={this.state.center} //access here using state
defaultZoom={this.state.zoom}
/>);
}
Всякий раз, когда вы хотите обновить center
а также zoom
значение просто обновить состояние с помощью setState
и компонент будет перерисован с новым нечетным значением.
С Redux:
С помощью redux это значение будет получено из карты контейнеров вашего компонента через редуктор для хранения.