当前位置:首页 > React

react如何定义一个组件

2026-01-25 23:44:23React

定义 React 组件的两种主要方式

函数组件
使用 JavaScript/TypeScript 函数定义,适用于无状态或使用 Hooks 的组件:

function Welcome(props) {
  return <h1>Hello, {props.name}</h1>;
}

箭头函数写法:

const Welcome = (props) => <h1>Hello, {props.name}</h1>;

类组件
通过继承 React.Component 实现,适用于需要生命周期方法的场景:

class Welcome extends React.Component {
  render() {
    return <h1>Hello, {this.props.name}</h1>;
  }
}

组件使用规范

Props 类型检查
推荐使用 TypeScript 或 PropTypes 进行类型约束:

import PropTypes from 'prop-types';

function Welcome({ name }) {
  return <h1>Hello, {name}</h1>;
}

Welcome.propTypes = {
  name: PropTypes.string.isRequired
};

默认 Props 值
为可选属性设置默认值:

function Welcome({ name = 'Guest' }) {
  return <h1>Hello, {name}</h1>;
}

现代 React 最佳实践

使用 Hooks
函数组件中通过 Hooks 管理状态和副作用:

import { useState } from 'react';

function Counter() {
  const [count, setCount] = useState(0);
  return <button onClick={() => setCount(c => c + 1)}>{count}</button>;
}

组件组合模式
通过 children 实现布局组件:

react如何定义一个组件

function Card({ children }) {
  return <div className="card">{children}</div>;
}

// 使用
<Card><Welcome name="Alice" /></Card>

标签: 组件定义
分享给朋友:

相关文章

vue实现组件通信

vue实现组件通信

Vue 组件通信方法 Vue 提供了多种方式实现组件间的通信,适用于不同场景。以下是常见的方法: Props 和 Events 父组件通过 props 向子组件传递数据,子组件通过 $emit 触…

java如何定义一个数组

java如何定义一个数组

定义数组的基本语法 在Java中,数组是固定长度的同类型数据集合。定义数组需要指定数据类型和数组名称,并可以选择直接初始化或稍后分配空间。 // 声明数组但不初始化 数据类型[] 数组名; //…

vue实现日历组件

vue实现日历组件

Vue 日历组件实现步骤 基础结构搭建 使用Vue 3的Composition API或Options API创建组件框架。核心结构包括年份/月份切换按钮、星期标题栏和日期网格。 <templ…

vue实现高阶组件

vue实现高阶组件

Vue 高阶组件实现方法 高阶组件(HOC)是一种复用组件逻辑的模式,通过函数包裹组件并返回新组件实现。Vue 中可通过以下方式实现: 使用 render 函数 通过函数接收组件选项并返回新组件选项…

vue实现表格组件

vue实现表格组件

Vue 表格组件实现方法 基础表格实现 使用 Vue 的模板语法可以快速实现基础表格功能。通过 v-for 指令循环渲染表格数据。 <template> <table>…

vue实现轮播组件

vue实现轮播组件

使用Swiper实现轮播组件 Swiper是一个流行的开源轮播库,支持Vue集成。安装Swiper和Vue相关依赖: npm install swiper vue-awesome-swiper 引入…