当前位置:首页 > 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 实现布局组件:

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

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

react如何定义一个组件

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

相关文章

vue实现下拉刷新组件

vue实现下拉刷新组件

Vue 下拉刷新组件实现 核心思路 通过监听 touch 事件计算滑动距离,结合 CSS 过渡动画实现下拉效果,触发刷新回调。 基础实现步骤 监听 touch 事件 在组件 mounted 阶段绑定…

uniapp组件写法

uniapp组件写法

Uniapp 组件的基本写法 Uniapp 的组件写法与 Vue 类似,支持单文件组件(.vue 文件)。一个基本的组件通常包含三个部分:<template>、<script>…

vue实现组件跟随

vue实现组件跟随

Vue 实现组件跟随效果 实现组件跟随效果通常需要监听鼠标或触摸事件,动态更新组件位置。以下是几种常见实现方式: 使用鼠标事件绑定 <template> <div class…

vue实现广告组件

vue实现广告组件

vue实现广告组件的方法 使用动态组件实现 在Vue中可以通过动态组件的方式加载广告组件,根据不同的条件展示不同的广告内容。动态组件使用<component :is="currentCompon…

vue实现水印组件

vue实现水印组件

Vue 水印组件的实现方法 使用Canvas绘制水印 在Vue组件中通过Canvas动态生成水印图案,将其作为背景添加到目标元素上。 <template> <div ref=…

vue实现递归组件

vue实现递归组件

递归组件的实现方法 在Vue中实现递归组件主要依靠组件调用自身的能力。以下是几种常见的实现方式: 使用组件name属性 通过组件的name属性实现递归调用是最简单的方式: <template…