javascript - 未捕获的 SyntaxError:预期的表达式,得到 '<'
问题描述
我试图通过使用反应在浏览器中显示“Hello World”
import React from 'react';
import ReactDOM from 'react-dom';
const myelement = <h1>Hello World</h1>;
ReactDOM.render(myelement, document.getElementById('root'));
<!DOCTYPE html>
<html>
<head>
<link rel="shortcut icon" href="#">
<title>List</title>
</head>
<body>
<div id="react"></div>
<script type="module" src="script.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script>
</body>
</html>
但是,如帖子标题中所述,我不断收到错误消息。有没有办法解决这个问题?
解决方案
您必须添加babel
才能使用JSX
. 并且id
根元素的 应该匹配函数id
中的ReactDOM.render
<!DOCTYPE html>
<html>
<head>
<link rel="shortcut icon" href="#">
<title>List</title>
</head>
<body>
<div id="root"></div>
<script src="https://unpkg.com/babel-standalone@6/babel.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js">
</script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script>
<script type="text/babel">
const myelement = <h1>Hello World</h1>;
ReactDOM.render(myelement, document.getElementById('root'));
</script>
</body>
</html>
推荐阅读
- c# - 将 Razor 库资源移动到 MVC 发布文件夹
- node.js - FS readFile 在获取请求中不返回任何内容
- odoo - Odoo 控制器接收 blob
- java - 迭代 ArrayList 并添加到具有特定格式的另一个 arrayList
- azure - 将 Azure Key Vault 与 ASP.NET 4.0 集成
- php - 为 foreach() 和 index.php 提供的无效参数不显示任何内容
- c - 使用c struct实现链表
- c++ - Int 未在方法中更新
- css - 如何在 MUI 中设置 body 元素的样式
- ansible - 从剧本编辑 Ansible 保险库文件