YMaps Provider
Этот компонент используется для обеспечения компонентов YMaps контекстом API Яндекс.Карт. Вам всегда нужно добавлять этот компонент где-то над вашими картами в дереве компонентов.
Поскольку <YMaps />
предоставляет API для получения API Яндекс.Карт, это
компонент, который вы можете использовать для настройки вашего API-запроса:
const Application = () => (
<YMaps query={{ lang: 'en_RU' }}>Application with YMaps Provider</YMaps>
);
render(<Application />);
Теперь вы можете добавлять компоненты карты в любом месте вашего дерева
компонентов ниже <YMaps />
, и они будут иметь доступ ко всему, что необходимо
для получения API Яндекс.Карт.
Куда поместить Provider?
Не бойтесь добавлять провайдера выше в дереве приложений, API Яндекс.Карт не
будет загружаться, пока его не запросит какой-нибудь компонент карты. Если такое
поведение нежелательно, вы можете использовать preload
prop, чтобы указать
провайдеру получать API Яндекс Карт, как только он смонтируется в дереве.
Имейте в виду, что по умолчанию провайдер будет получать только критическую часть API Яндекс.Карт. После этого каждый компонент карты будет автоматически обрабатывать получение соответствующей части API Яндекс Карт.
Если вы хотите сразу загрузить больше частей Яндекс.Карт, вы можете использовать
load
параметр в компоненте query
prop, чтобы определить, что именно вы
хотите получить.
Все параметры запроса, кроме onload
и onerror
, из документации API
Яндекс Карт поддерживаются query
prop. Не беспокойтесь, вы по-прежнему можете
получить доступ ко onLoad
и onError
для всех подключенных компонентов.