Как добавить asyn c скрипт в React - PullRequest
0 голосов
/ 12 февраля 2020

Мне нужно добавить div & async script внизу страницы в моем приложении react.

1-я попытка:

  ...
  ...
  render() {
    return (
      <div>
        <HeaderComponent />
        <Notifications />
        {children}
        <FooterComponent />
        <div
          className="cc-banner-embed"
          data-config="YmFja2MGVUJhY2tncm91bmQ9dHJ1ZQ==">
          <script async src="https://banner.crowdcube.com/embed.js"></script>
        </div>
      </div>
    );
  }

2nd Try:

  ...

  // use lifecycle method to load script
  componentDidMount() {
    const s = document.createElement("script");
    s.type = "text/javascript";
    s.async = true;
    s.src = "https://banner.crowdcube.com/embed.js";
    this.instance.appendChild(s);
  }

  render() {
    return (
      <div>
        <HeaderComponent />
        <Notifications />
        {children}
        <FooterComponent />
        <div
          className="cc-banner-embed"
          data-config="YmFja2MGVUJhY2tncm91bmQ9dHJ1ZQ=="
          ref={el => (this.instance = el)}>
        </div>
      </div>
    );
  }

К сожалению, оба из них не сработали. Как получить этот файл сценария для загрузки asyn c.

РЕДАКТИРОВАТЬ: Мой код был на самом деле правильно, однако в этом случае браузер по какой-то причине не отображал его (возможно, проблема cook ie) , Переход в инкогнито сделал свое дело. Спасибо.

1 Ответ

1 голос
/ 12 февраля 2020

Вы можете попробовать это загрузить ваш скрипт в ваше приложение реакции

  componentDidMount() {
    const head = document.querySelector('head');
    const script = document.createElement('script');
    script.setAttribute('async',true);
    script.setAttribute('src', 'https://banner.crowdcube.com/embed.js');
    head.appendChild(script);
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...