[英]ReactJs error: semicolon expected after render
我正在學習如何使用 ReactJs 而我才剛剛開始。
我有一個 HTML 文件,就是這個
<!DOCTYPE html>
<html>
<body>
<div id="content"></div>
<script src="https://unpkg.com/react@16/umd/react.development.js" crossorigin></script>
<script src="https://unpkg.com/react-dom@16/umd/react-dom.development.js" crossorigin></script>
<script src="mainReact.js"></script>
</body>
</html>
在文件 mainReact.js 這是我的代碼
import React from 'react';
import ReactDOM from 'react-dom';
class Test extends React.Component {
render() {
return <h1>Hello World!</h1>;
}
}
ReactDOM.render(<Test />, document.getElementById('content'));
我在“render(){”旁邊收到一個錯誤,它說:
此行有多個標記 - 預期主要表達 - 預期分號
你能告訴我我做錯了什么嗎?
謝謝
首先是 JSX
<h1>Hello World!</h1>;
JSX 不會被瀏覽器直接編譯,所以你可以像這樣編譯代碼
ReactDOM.render(
React.createElement('h1', {}, 'Hello World!')
, document.getElementById('content'));
注意React.createElement('h1', {}, 'Hello World!')
是瀏覽器本機理解的<h1>Hello World!</h1>
的替代版本。
因此,您將需要一個轉譯器來自動執行此操作,因此請使用 bable
如果您想直接跳到 React 並且不想用捆綁器和轉譯器撓頭,那么最好使用
創建 React 應用程序https://reactjs.org/docs/create-a-new-react-app.html
根據文檔,您必須使用React.createElement
。
如果您檢查控制台它import outside of module
,您不能使用導入,因為js
文件不被解釋為 ES 模塊,您必須添加最近的package.json
該類型具有module
值。
在下面檢查我的更新代碼。 只需更改mainReact.js
。
'use strict'
const e = React.createElement;
class Test extends React.Component {
render() {
return e('h1',null,'Hello World!');
}
}
ReactDOM.render(e(Test), document.getElementById('content'));
一個更簡單的解決方案是運行命令npx create-react-app my-app
在這里閱讀
You can run npm init command to create a package.json file and then install Babel and webpack using npm. 那應該可以做到。 然而這是很多工作,我建議你使用 create-react-app 來創建你的項目。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.