Helmet 中的 CDN 脚本并不总是正确加载

IT技术 reactjs cdn gatsby react-helmet
2021-05-19 06:57:45

我正在使用 React + Gatsby 构建一个站点,并且需要在客户端使用 Paper.js。

目前我将脚本放入 render()


<Helmet>
<script src="https://cdnjs.cloudflare.com/ajax/libs/paper.js/0.12.2/paper-full.min.js" />
</Helmet>

但是,它在我重新加载 (f5) 时有效,但当用户被定向到页面单击 Gatsby-Link 元素(to="/path")时则无效

我的问题可能是什么?

1个回答

你可以通过Helmet一个scriptprops用的脚本,包括数组:

<Helmet
  script={[
    {
      "src": "https://cdnjs.cloudflare.com/ajax/libs/paper.js/0.12.2/paper-full.min.js", 
      "type": "text/javascript"
    }
  ]}
>
...
</Helmet>