Задать вопрос
@rail-ka
Программист.

Динамический импорт из url в react компоненте?

Стоит задача подключить библиотеку для оплаты YandexCheckout.js. Подключить библиотеку можно только через CDN. Поскольку она нужна будет только если клиент захочет оплатить, хотелось бы подключать её динамически при монтировании компонента в componentDidMount, а не вставлять в конец файла index.html как .
Есть динамический импорт для локальной библиотеки:
import('axios').then(() => {}), но она не работает с url.
В данный момент пока склоняюсь к подключении библиотеки Systemjs, она вроде бы умеет импортировать из url.
Есть ли другие варианты?

Дополнение:
Ищу способ использовать именно без DOM, чтобы можно было бы использовать и в react-native.
Так же видел ответы в stackoverflow:
https://stackoverflow.com/questions/44877904/how-d...
https://stackoverflow.com/questions/36103641/dynam...
https://stackoverflow.com/questions/34607252/es6-i...
  • Вопрос задан
  • 939 просмотров
Подписаться 1 Средний 2 комментария
Пригласить эксперта
Ответы на вопрос 1
@davidnum95
В порядке бреда:
componentDidMount = () => {
  const script = document.createElement('script');
  script.src='https://www.cdn.com/YandexCheckout.js';
  script.type = "text/javascript";
  script.id = "yandexCheckout";
  document.head.appendChild(script);
}

componentWillUnmount = () => {
 const script = document.getElementById("yandexCheckout");
 script.parentNode.removeChild(script)
}


Дополнение:
Ищу способ использовать именно без DOM, чтобы можно было бы использовать и в react-native.

Ну можно через eval попробовать
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
12 дек. 2024, в 19:06
45000 руб./за проект
12 дек. 2024, в 18:46
4000 руб./за проект
12 дек. 2024, в 18:18
10000 руб./за проект