Проблема с добавлением Embedded Yelp Reviews в приложение React - PullRequest
0 голосов
/ 10 апреля 2019

Реакция добавления встроенных отзывов Проблема:

Я вставляю отзывы Yelp со встроенным кодом скрипта в свое приложение Отзывы отображаются отлично (локально еще не пробовал развертывать приложение), но я получаю странную ошибку JSON в консоли:

VM1040:1 Uncaught SyntaxError: Unexpected token s in JSON at position 0
    at Object.parse (<anonymous>)
    at i (VM1027 widgets.js:1)
    at VM1027 widgets.js:1

Я пробовал несколько разных способов вставить обзоры в мой компонент React, оба из которых отображают рецензию, но появляется одна и та же ошибка. Может кто-нибудь подсказать мне, как найти решение?

Репо: https://github.com/tarekel96/gtrHighPerformance/blob/master/client/src/components/Customers/YelpOne/index.js

Мои методы включают создание элемента script с документом api, а затем добавление сценария в тело и тег React с идентификатором root.

// first method I tried
  componentDidMount() {
    if (!window.doBuild) {
      this.preloadWidgetScript();
    } else {
      window.doBuild();
    }
  }

  preloadWidgetScript = () => {
    const script = document.createElement("script");
    script.async = true;
    script.dataset.pinBuild = "doBuild";
    script.src = "//www.yelp.com/embed/widgets.js";
    document.body.appendChild(script);
  };
// end first method
  // second method I tried
   componentDidMount() {
     const script = document.createElement("script");
     script.setAttribute("src", "https://www.yelp.com/embed/widgets.js");
     document.getElementById("root").appendChild(script);
   }
// end second method
render() {
    return (
     // embedded Yelp review code start
            <span
              className="yelp-review"
              data-review-id="CPZ43GwBDsLfZLaBpDPxFQ"
              data-hostname="www.yelp.com"
            >
              <a
                href="https://www.yelp.com/user_details?userid=nQjhEXRd9n1vON50NZnOCA"
                rel="nofollow noopener"
              >
                Jeff H.
              </a>

              <a
                href="https://www.yelp.com/biz/gtr-high-performance-rancho-cucamonga?hrid=CPZ43GwBDsLfZLaBpDPxFQ"
                rel="nofollow noopener"
              >
                review
              </a>

              <a
                href="https://www.yelp.com/biz/xqUYSbS_GP3TKK3ooYgpNA"
                rel="nofollow noopener"
              >
                GTR High Performance
              </a>
              <a href="https://www.yelp.com" rel="nofollow noopener">
                Yelp
              </a>
            </span>
// embedded Yelp review code end
...