组件基础 (函数组件和类组件)
在 React 中,组件是构建用户界面的基本单元。React 提供了两种主要的组件类型:函数组件和类组件。理解这两种组件的工作原理和使用场景是掌握 React 的基础。
1. 函数组件
函数组件是 React 中最简单的组件形式。它是一个纯函数,接受 props 作为参数,并返回一个 React 元素(通常是 JSX)。
1.1 基本语法
function Welcome(props) {
return <h1>Hello, {props.name}</h1>;
}
1.2 使用示例
import React from 'react';
import ReactDOM from 'react-dom';
function Welcome(props) {
return <h1>Hello, {props.name}</h1>;
}
const element = <Welcome name="Sara" />;
ReactDOM.render(element, document.getElementById('root'));
1.3 实践练习
创建一个名为 Greeting 的函数组件,接受 name 和 message 作为 props,并显示一条问候信息。
function Greeting(props) {
return (
<div>
<h1>Hello, {props.name}!</h1>
<p>{props.message}</p>
</div>
);
}
const element = <Greeting name="Alice" message="Welcome to our website!" />;
ReactDOM.render(element, document.getElementById('root'));
2. 类组件
类组件是 React 中另一种常见的组件形式。它是一个 ES6 类,继承自 React.Component,并实现 render 方法来返回 JSX。
2.1 基本语法
class Welcome extends React.Component {
render() {
return <h1>Hello, {this.props.name}</h1>;
}
}
2.2 使用示例
import React from 'react';
import ReactDOM from 'react-dom';
class Welcome extends React.Component {
render() {
return <h1>Hello, {this.props.name}</h1>;
}
}
const element = <Welcome name="Sara" />;
ReactDOM.render(element, document.getElementById('root'));
2.3 实践练习
创建一个名为 Greeting 的类组件,接受 name 和 message 作为 props,并显示一条问候信息。
class Greeting extends React.Component {
render() {
return (
<div>
<h1>Hello, {this.props.name}!</h1>
<p>{this.props.message}</p>
</div>
);
}
}
const element = <Greeting name="Alice" message="Welcome to our website!" />;
ReactDOM.render(element, document.getElementById('root'));
3. 函数组件 vs 类组件
3.1 选择哪种组件?
- 函数组件:适用于简单的 UI 逻辑,不需要状态管理和生命周期方法。React 16.8 引入了 Hooks,使得函数组件可以管理状态和副作用。
- 类组件:适用于复杂的 UI 逻辑,需要状态管理和生命周期方法。
3.2 性能和简洁性
- 函数组件:通常更简洁,代码量更少,更容易理解和维护。
- 类组件:虽然功能更强大,但代码量可能更多,且需要理解
this关键字的使用。
4. 总结
函数组件和类组件是 React 中构建用户界面的两种基本方式。函数组件简洁易懂,适合简单的 UI 逻辑;类组件功能强大,适合复杂的 UI 逻辑。随着 React Hooks 的引入,函数组件的功能得到了极大的扩展,使得它们在许多场景下成为首选。
5. 下一步
在掌握了函数组件和类组件的基础后,你可以继续学习 React 中的 Props 和 State,这是构建动态和交互式用户界面的关键概念。
通过本教程,你应该已经掌握了 React 中函数组件和类组件的基本概念和使用方法。接下来,你可以尝试构建一些简单的 React 应用,进一步巩固这些知识。