Реагируйте на карты 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 это значение будет получено из карты контейнеров вашего компонента через редуктор для хранения.

Другие вопросы по тегам