Я пытаюсь добавить форму 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? Любая помощь или предложения с благодарностью!