Перейти к основному содержимому

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 для всех подключенных компонентов.