Проверяет умение подключать внешние JS-библиотеки и API (карты, платежи, аналитика) в современный фронтенд-проект без конфликтов со сборщиком и фреймворком.
Интеграция сторонних сервисов — это подключение внешнего JavaScript SDK (карты, платежи, чаты, аналитика) к вашему приложению. Главная сложность в том, что такой код живёт вне вашего бандла: он загружается по сети, имеет собственный глобальный объект (например, ymaps или google.maps) и требует API-ключа.
index.html — просто, но скрипт грузится всегда, даже если карта не нужна.document.createElement('script') — грузим только когда нужно, экономим трафик.function loadScript(src) {
return new Promise((resolve, reject) => {
if (document.querySelector(`script[src="${src}"]`)) return resolve();
const s = document.createElement('script');
s.src = src;
s.async = true;
s.onload = resolve;
s.onerror = reject;
document.head.appendChild(s);
});
}
function Map() {
const ref = useRef(null);
useEffect(() => {
let map;
loadScript('https://api-maps.yandex.ru/2.1/?apikey=KEY&lang=ru_RU')
.then(() => window.ymaps.ready(() => {
map = new window.ymaps.Map(ref.current, { center: [55.75, 37.61], zoom: 10 });
}));
return () => map && map.destroy();
}, []);
return <div ref={ref} style={{ width: '100%', height: 400 }} />;
}async), чтобы не блокировать первую отрисовку.script-src.Итог: применяйте динамическую загрузку с обёрткой в компонент, когда сервис нужен не на всех страницах; для простых случаев достаточно тега script в HTML с корректным API-ключом.
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию