Javascript 在React.js中使用标记

Javascript 在React.js中使用标记,javascript,reactjs,script,Javascript,Reactjs,Script,我正在尝试将html/css/js模板转换为React.js应用程序。但是,模板在脚本标记中使用了2个文件 <script class="u-script" type="text/javascript" src="jquery.js" defer=""></script> <script class="u-script" type="text/javascr

我正在尝试将html/css/js模板转换为React.js应用程序。但是,模板在脚本标记中使用了2个文件

<script class="u-script" type="text/javascript" src="jquery.js" defer=""></script>
<script class="u-script" type="text/javascript" src="nicepage.js" defer=""></script>
我尝试使用Helmet和ScriptTag将这些文件添加到我的React.js代码中,但似乎不起作用

我试过:

function App() {

  return (
      <div>

          <ScriptTag type="text/javascript" src="jquery.js" />
          <ScriptTag type="text/javascript" src="nicepage.js" />

....
我得到:


未捕获的语法错误:意外标记“您不应该将jQuery与react一起使用,因为jQuery修改DOM,react处理所有DOM修改。无论如何,如果你想得到大量的bug,你可以将JQuery添加到react应用程序公用文件夹中的index.html中。

在react JS中使用JQuery是个坏主意

import React, { useEffect } from 'react';

const MyComponent = () => {

  useEffect(() => {
    document.body.appendChild(document.createElement("script")).src = "https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js";
  }, [])
  return (
    <b>Your code</b>
  )
}
export default MyComponent;

在HTML5中,您不应该再设置type属性。您实际上不应该将jQuery与React一起使用,因为jQuery修改DOM,React处理DOM本身。另外,您不应该将脚本标记与React一起使用,因为您可能使用Node将其全部编译成一个脚本文件。因此,没有简单的方法可以做到这一点?是的,非常简单,只需导入JavaScript即可。或者,您也可以总是采用肮脏的方式将它们放在index.html文件中。您还可以将这些脚本放在public/index.html文件中。但是这样的话,脚本就会出现在整个应用程序中,问题不在于此。src可以是myveryawesomelegacycode,现在就在这里。js将脚本添加到public index.html中就成功了。谢谢。事实上是这样的,因为他试图在页面的根级别将它们加载到应用程序组件中,但如果他试图在特定组件中添加一些遗留js代码,这是行不通的,可能会越来越麻烦。你不应该这样做。当我移动公用文件夹中的文件时,这种方法也起作用。非常感谢。