当前位置:首页 > React

react如何生成组件

2026-01-24 18:09:06React

创建 React 组件的几种方法

函数组件
使用函数定义组件是最简单的方式,适用于无状态或使用 Hooks 的组件:

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

箭头函数组件
ES6 箭头函数写法更简洁:

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

类组件
通过继承 React.Component 实现,适用于需要生命周期和状态的复杂组件:

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

组件使用与导出

默认导出
单个组件文件通常采用默认导出:

export default Welcome;

命名导出
支持导出多个组件:

export { Welcome, AnotherComponent };

组件嵌套与 Props

传递 Props
父组件通过属性传递数据:

react如何生成组件

<Welcome name="Alice" />

子组件渲染
通过 children 或自定义属性实现嵌套:

<Card>
  <Welcome name="Bob" />
</Card>

状态管理

函数组件中使用 State
通过 useState Hook 管理状态:

const [count, setCount] = React.useState(0);

类组件中使用 State
在构造函数中初始化状态:

react如何生成组件

class Counter extends React.Component {
  constructor(props) {
    super(props);
    this.state = { count: 0 };
  }
}

生命周期与副作用

函数组件副作用
使用 useEffect 处理生命周期逻辑:

React.useEffect(() => {
  document.title = `Count: ${count}`;
}, [count]);

类组件生命周期
通过特定方法如 componentDidMount 实现:

componentDidMount() {
  console.log('Component mounted');
}

组件优化技巧

React.memo 优化
避免不必要的函数组件重渲染:

const MemoizedComponent = React.memo(MyComponent);

PureComponent 优化
类组件自动浅比较 Props 和 State:

class OptimizedComponent extends React.PureComponent {}

标签: 组件react
分享给朋友:

相关文章

vue实现组件跟随

vue实现组件跟随

实现组件跟随的常见方法 使用CSS定位 通过CSS的position: fixed或position: absolute属性实现组件跟随。需要结合JavaScript计算目标元素的位置。 &…

vue实现组件拖放

vue实现组件拖放

Vue 实现组件拖放的方法 使用 HTML5 原生拖放 API HTML5 提供了原生的拖放 API,可以通过 draggable 属性、dragstart、dragend、dragover 和 dr…

elementui组件

elementui组件

ElementUI 组件概述 ElementUI 是一套基于 Vue.js 的桌面端组件库,提供丰富的 UI 组件,适用于快速开发中后台系统。以下是其核心组件分类及典型用法。 基础组件 Button…

react 如何运行

react 如何运行

运行 React 项目的步骤 安装 Node.js 确保系统已安装 Node.js(建议版本 16+),可通过官网下载并安装。安装后验证版本: node -v npm -v 创建 React 项目…

uniapp组件

uniapp组件

uniapp组件基础概念 uniapp的组件系统基于Vue.js,支持跨平台开发(H5、小程序、App等)。组件分为内置基础组件(如<view>、<button>)和自定义组件…

react如何重新加载

react如何重新加载

重新加载当前页面 在React中重新加载当前页面可以通过window.location.reload()方法实现。该方法会强制浏览器重新加载当前URL,类似于按下F5刷新页面。 const relo…