菜单
×
   ❮     
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 提供支持