@RokeAlvo

Как повесить обработчик клика в react-yandex-maps?

почему вот такой код не работает:
export default function({center, clickOnMap}) {
  return (
    <YMaps query={{
      apikey: 'my_api_key',
    }}>
      <div>
        <Map
             className='map-container'
             state={{center: center, zoom: 16}}
             onLoad={(inst)=>{return inst.events.add('click', clickOnMap)}}
        >
          <Placemark geometry={center} />

        </Map>
      </div>
    </YMaps>
  )
}
  • Вопрос задан
  • 4546 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега Яндекс.Карты
почему вот такой код не работает

onLoad={(inst)=>{return inst.events.add('click', clickOnMap)}}

Потому что через onLoad вы получаете доступ к ymaps api, а не к экземпляру карты.

Хотите экземпляр карты - используйте instanceRef:

instanceRef={inst => inst.events.add('click', clickOnMap)}

Но вообще, для того, чтобы назначить обработчик клика, экземпляр карты трогать не надо:

onClick={clickOnMap}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы