選單
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

什麼是 React?


React

React 是由 Facebook 建立的 JavaScript 庫。

React 是一個 使用者介面 (UI) 庫。

React 是一個用於構建 UI 元件 的工具。


React 快速入門教程

這是一個快速入門教程。

在開始之前,您應該對以下內容有基本的瞭解:

檢視完整教程

前往我們的 React 教程 ❯

將 React 新增到 HTML 頁面

本快速入門教程將像這樣將 React 新增到一個頁面中:

示例

<!DOCTYPE html>
<html lang="en">
<title>測試 React</title>

<!-- 載入 React API -->
<script src="https://unpkg.com/react@16/umd/react.production.min.js"></script>
<!-- 載入 React DOM-->
<script src="https://unpkg.com/react-dom@16/umd/react-dom.production.min.js"></script>
<!-- 載入 Babel 編譯器 -->
<script src="https://unpkg.com/babel-standalone@6.15.0/babel.min.js"></script>

<body>

<script type="text/babel">
    //  JSX Babel 程式碼在此處
</script>

</body>
</html>

什麼是 Babel?

Babel 是一個 JavaScript 編譯器,可以將標記或程式語言翻譯成 JavaScript。

使用 Babel,您可以使用 JavaScript 的最新功能 (ES6 - ECMAScript 2015)。

Babel 可用於不同的轉換。React 使用 Babel 將 JSX 轉換為 JavaScript。

請注意,使用 Babel 需要 <script type="text/babel">。


什麼是 JSX?

JSX 代表 JavaScript XML。

JSX 是 JavaScript 的 XML/HTML 類似擴充套件。

示例

const element = <h1>Hello World!</h1>

如您所見,JSX 既不是 JavaScript 也不是 HTML。

JSX 是 JavaScript 的 XML 語法擴充套件,同時具備 ES6 (ECMAScript 2015) 的全部功能。

就像 HTML 一樣,JSX 標籤可以有標籤名、屬性和子元素。如果屬性用大括號括起來,則該值是一個 JavaScript 表示式。

請注意,JSX 在 HTML 文字字串周圍不使用引號。


React DOM 渲染

ReactDOM.render() 方法用於渲染(顯示)HTML 元素

示例

<div id="id01">Hello World!</div>

<script type="text/babel">
ReactDOM.render(
    <h1>Hello React!</h1>,
    document.getElementById('id01'));
</script>

自己動手試一試 »


JSX 表示式

透過用花括號 {} 包裹,可以在 JSX 中使用表示式。

示例

<div id="id01">Hello World!</div>

<script type="text/babel">
const name = 'John Doe';
ReactDOM.render(
    <h1>Hello {name}!</h1>,
    document.getElementById('id01'));
</script>

自己動手試一試 »


React 元素

React 應用程式通常圍繞單個 HTML 元素 構建。

React 開發者通常稱之為 根節點(根元素)

<div id="root"></div>

React 元素 看起來像這樣:

const element = <h1>Hello React!</h1>

元素透過 ReactDOM.render() 方法進行 渲染(顯示)

ReactDOM.render(element, document.getElementById('root'));

自己動手試一試 »

React 元素是 不可變的。它們不能被改變。

改變 React 元素的唯一方法是每次都渲染一個新的元素

示例

function tick() {
    const element = (<h1>{new Date().toLocaleTimeString()}</h1>);
    ReactDOM.render(element, document.getElementById('root'));
}
setInterval(tick, 1000);

自己動手試一試 »


React 元件

React 元件是 JavaScript 函式。

此示例建立了一個名為“Welcome”的 React 元件

示例

function Welcome() {
    return <h1>Hello React!</h1>;
}
ReactDOM.render(<Welcome />, document.getElementById('root'));

自己動手試一試 »

React 也可以使用 ES6 類來建立元件。

此示例建立了一個名為 Welcome 的 React 元件,帶有一個 render 方法

示例

class Welcome extends React.Component {
    render() { return(<h1>Hello React!</h1>); }
}
ReactDOM.render(<Welcome />, document.getElementById('root'));

自己動手試一試 »


React 元件屬性

此示例建立了一個名為“Welcome”的 React 元件,帶有屬性引數

示例

function Welcome(props) {
    return <h1>Hello {props.name}!</h1>;
}
ReactDOM.render(<Welcome name="John Doe"/>, document.getElementById('root'));

自己動手試一試 »

React 也可以使用 ES6 類來建立元件。

此示例還建立了一個名為“Welcome”的 React 元件,帶有屬性引數

示例

class Welcome extends React.Component {
    render() { return(<h1>Hello {this.props.name}</h1>); }
}
ReactDOM.render(<Welcome name="John Doe"/>, document.getElementById('root'));

自己動手試一試 »


 


JSX 編譯器

此頁面上的示例在瀏覽器中編譯 JSX。

對於生產程式碼,編譯應單獨完成。


建立 React 應用程式

Facebook 建立了一個 Create React Application,其中包含構建 React 應用程式所需的一切。

它是一個開發伺服器,使用 Webpack 編譯 React、JSX 和 ES6,並自動新增 CSS 檔案字首。

Create React App 使用 ESLint 來測試並警告程式碼中的錯誤。

要建立 Create React App,請在您的終端上執行以下程式碼:

示例

npx create-react-app react-tutorial

確保您已安裝 Node.js 5.2 或更高版本。否則,您必須安裝 npx

示例

npm i npx

從您希望應用程式所在的資料夾向上移動一個資料夾

示例

C:\Users\myUser>npx create-react-app react-tutorial

成功結果

npx: 在 10.359s 內安裝了 63 個包
在 C:\Users\myUser\react-tutorial 中建立一個新的 React 應用程式。
正在安裝軟體包。這可能需要幾分鐘。
正在安裝 react、react-dom 和 react-scripts...
+ react-dom@16.5.2
+ react@16.5.2
+ react-scripts@2.0.4
從 664 個貢獻者添加了 1732 個包,並在 355.501s 內審計了 31900 個包
發現 0 個漏洞+ react@16.5.2

成功!在 C:\Users\myUser\react-tutorial 建立了 react-tutorial
在該目錄中,您可以執行幾個命令

npm start
啟動開發伺服器。

npm run build
將應用程式打包成靜態檔案以供生產。

npm test
啟動測試執行程式。

npm run eject
移除此工具並將構建依賴項、配置檔案
和指令碼複製到應用程式目錄。如果您執行此操作,則無法撤銷!

我們建議您首先輸入:

cd react-tutorial
npm start

×

聯絡銷售

如果您想將 W3Schools 服務用於教育機構、團隊或企業,請傳送電子郵件給我們
sales@w3schools.com

報告錯誤

如果您想報告錯誤,或想提出建議,請傳送電子郵件給我們
help@w3schools.com

W3Schools 經過最佳化,旨在方便學習和培訓。示例可能經過簡化,以提高閱讀和學習體驗。教程、參考資料和示例會不斷審查,以避免錯誤,但我們無法保證所有內容的完全正確性。使用 W3Schools 即表示您已閱讀並接受我們的使用條款Cookie 和隱私政策

版權所有 1999-2024 Refsnes Data。保留所有權利。W3Schools 由 W3.CSS 提供支援