Добавление формы Marketo в Gatsby / JSX - PullRequest
1 голос
/ 09 июля 2019

Я пытаюсь добавить форму Marketo на сайт Gatsby, но у меня проблемы с порядком, в котором скрипты вводятся на страницу.

Когда я пытаюсь отобразить компонент ниже, я получаю сообщение об ошибке «ReferenceError: MktoForms2 не определено».

Я попытался закомментировать весь блок кода useEffect, и компонент прекрасно отображается на странице без формы. Затем, когда я вставляю «MktoForms2.loadForm (« // app-sj11.marketo.com »,« XXX-XXX-XXX », 1608)» в консоль, форма появляется, как и ожидалось.

import React, { useEffect } from "react";
import Helmet from "react-helmet";

import "./form.scss";

const FormContactMkto = () => {
  useEffect(() => {
    MktoForms2.loadForm("//app-sj11.marketo.com", "XXX-XXX-XXX", 1608);
  }, []);

  return (
    <div>
      <Helmet>
        <script
          src="//app-sj11.marketo.com/js/forms2/js/forms2.min.js"
          type="text/javascript"
        />
      </Helmet>
      <form id="mktoForm_1608"></form>
    </div>
  );
};

export default FormContactMkto;

Как я могу загрузить эту форму Marketo на страницу Gatsby? Любая помощь или предложения с благодарностью!

...