Menu
×
   ❮     
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 组件


组件就像返回 HTML 元素的函数。


React 组件

组件是独立且可重用的代码片段。它们与 JavaScript 函数的作用相同,但在隔离状态下工作并返回 HTML。

组件有两种类型:类组件和函数组件,在本教程中,我们将重点介绍函数组件。

在较旧的 React 代码库中,您可能会发现主要使用类组件。现在建议使用函数组件以及 Hooks,它们是在 React 16.8 中添加的。为了参考,这里有一个关于类组件的可选部分。


创建您的第一个组件

创建 React 组件时,组件的名称 *必须* 以大写字母开头。

类组件

类组件必须包含 extends React.Component 语句。此语句创建了对 React.Component 的继承,并使您的组件能够访问 React.Component 的函数。

该组件还需要一个 render() 方法,该方法返回 HTML。

示例

创建一个名为 Car 的类组件

class Car extends React.Component {
  render() {
    return <h2>Hi, I am a Car!</h2>;
  }
}

函数组件

以下是与上面相同的示例,但使用函数组件创建。

函数组件也返回 HTML,并且与类组件的行为非常相似,但函数组件可以使用更少的代码编写,更容易理解,并且在本教程中会更受青睐。

示例

创建一个名为 Car 的函数组件

function Car() {
  return <h2>Hi, I am a Car!</h2>;
}


w3schools CERTIFIED . 2022

获得认证!

完成 React 模块,完成练习,参加考试并获得 w3schools 认证!

95 美元 报名

渲染组件

现在您的 React 应用程序有一个名为 Car 的组件,它返回一个 <h2> 元素。

要在应用程序中使用此组件,请使用与普通 HTML 相似的语法: <Car />

示例

在“根”元素中显示 Car 组件

const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(<Car />);

运行示例 »


属性

组件可以作为 props 传递,props 代表属性。

属性就像函数参数,您将它们作为属性发送到组件中。

您将在下一章中了解有关 props 的更多信息。

示例

使用属性将颜色传递给 Car 组件,并在 render() 函数中使用它

function Car(props) {
  return <h2>I am a {props.color} Car!</h2>;
}

const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(<Car color="red"/>);

运行示例 »


组件中的组件

我们可以引用其他组件中的组件

示例

在 Garage 组件中使用 Car 组件

function Car() {
  return <h2>I am a Car!</h2>;
}

function Garage() {
  return (
    <>
      <h1>Who lives in my Garage?</h1>
      <Car />
    </>
  );
}

const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(<Garage />);

运行示例 »


文件中的组件

React 的重点是代码重用,建议将您的组件拆分成单独的文件。

为此,请创建一个带有 .js 文件扩展名的新文件,并将代码放入其中

请注意,文件名必须以大写字母开头。

示例

这是新文件,我们将其命名为“Car.js”

function Car() {
  return <h2>Hi, I am a Car!</h2>;
}

export default Car;

要使用 Car 组件,您必须在应用程序中导入该文件。

示例

现在,我们在应用程序中导入“Car.js”文件,并且我们可以像在本地创建它一样使用 Car 组件。

import React from 'react';
import ReactDOM from 'react-dom/client';
import Car from './Car.js';

const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(<Car />);

运行示例 »



×

Contact Sales

If you want to use W3Schools services as an educational institution, team or enterprise, send us an e-mail:
[email protected]

Report Error

If you want to report an error, or if you want to make a suggestion, send us an e-mail:
[email protected]

W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.

Copyright 1999-2024 by Refsnes Data. All Rights Reserved. W3Schools is Powered by W3.CSS.