Ошибки при добавлении Facebook SDK на сайт React - PullRequest
0 голосов
/ 11 марта 2019

Я пытаюсь добавить код SDK Facebook сразу после тега на веб-сайте, созданном с помощью React, но получаю ошибки.Я думаю, это потому, что моя домашняя страница представляет собой шаблон .jsx, но я не уверен, как еще включить этот код:

<script>
    window.fbAsyncInit = function () {
      FB.init({
        appId: '1813842465324998',
        autoLogAppEvents: true,
        xfbml: true,
        version: 'v2.11'
      }); <- unexpected token, expected "}". SYNTAX ERROR

      // Broadcast an event when FB object is ready
      var fbInitEvent = new Event('FBObjectReady');
      document.dispatchEvent(fbInitEvent);
    };

    (function (d, s, id) {
      var js, fjs = d.getElementsByTagName(s)[0];
      if (d.getElementById(id)) { return; }
      js = d.createElement(s); js.id = id;
      js.src = "https://connect.facebook.net/en_US/sdk.js";
      fjs.parentNode.insertBefore(js, fjs);
    }(document, 'script', 'facebook-jssdk'));
  </script>

1 Ответ

1 голос
/ 11 марта 2019

JSX не поддерживает теги JavaScript.Вместо этого просто используйте весь код JavaScript в componentDidMount.В идеале вы должны поместить его в отдельный файл для обработки JS SDK Facebook.

В любом случае было бы бессмысленно использовать тег сценария, ведь вы уже используете файл JavaScript.Кроме того, функцию рендеринга можно вызывать несколько раз, но загружать JS SDK следует только один раз.

...