有人可以帮我解决这个 React 教程语法错误吗?

Fre*_*zzi 0 html javascript reactjs

大家好,我一直在尝试通过他们的在线教程来学习 React。我将代码复制并粘贴到 Visual Studio Code 中,每次运行 demo.html 时,页面都是空白的。我到达控制台,发现它们是一个语法错误“Uncaught SyntaxError:预期表达式,得到'<'”如果我刚刚完成了复制和粘贴工作,这怎么可能?我不知道这是否与 javascript 位于单独的文件中有关?

我了解了这段代码背后的概念,但我无法弄清楚它为什么起作用。如果有任何帮助,非常感谢!

这是名为 test.js 的脚本

function Welcome(props) {  return <h1> Hello {props.name} </h1>;
}

const element = <Welcome name="Sara" />;ReactDOM.render(
element,
document.getElementById('root')
);
Run Code Online (Sandbox Code Playgroud)

这是 demo.html

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8" />
    <title>Add React in One Minute</title>
  </head>
  <body>
    <!-- We will put our React component inside this div. -->
    
    <div id='root'></div>

    <!-- Load React. -->
    <!-- Note: when deploying, replace "development.js" with "production.min.js". -->
    <script src="https://unpkg.com/react@17/umd/react.development.js" crossorigin></script>
    <script src="https://unpkg.com/react-dom@17/umd/react-dom.development.js" crossorigin></script>
    <!-- Load our React component. -->
    <script src="test.js"></script>


  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

Pra*_*mar 5

如果你正在开发React项目。使用CLI和删除所有这些脚本标签始终是最佳实践,也是 React 团队推荐的。阅读 React 文档

你还必须设置 Babel 来编译 JSX。为此,您必须将其包括在内

<script src="https://unpkg.com/@babel/standalone/babel.min.js"></script>
Run Code Online (Sandbox Code Playgroud)

typescript标签添加属性

type="text/babel"
Run Code Online (Sandbox Code Playgroud)

超文本标记语言

<!DOCTYPE html>
<html>

<head>
  <meta charset="UTF-8" />
  <title>Add React in One Minute</title>
</head>

<body>
  <!-- We will put our React component inside this div. -->

  <div id='root'></div>

  <!-- Load React. -->
  <!-- Note: when deploying, replace "development.js" with "production.min.js". -->

  <script src="https://unpkg.com/react@17/umd/react.development.js" crossorigin></script>
  <script src="https://unpkg.com/react-dom@17/umd/react-dom.development.js" crossorigin></script>
  <script src="https://unpkg.com/@babel/standalone/babel.min.js"></script>
  <!-- Load our React component. -->
  <script src="test.js" type="text/babel"></script>


</body>

</html>
Run Code Online (Sandbox Code Playgroud)