当前位置:首页 > React

react类组件实现

2026-01-27 03:09:37React

React 类组件的基本结构

类组件是 React 中通过 ES6 类定义的组件,继承自 React.ComponentReact.PureComponent。以下是一个基础示例:

import React from 'react';

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

  render() {
    return <div>Count: {this.state.count}</div>;
  }
}

生命周期方法

类组件提供了一系列生命周期方法,用于在不同阶段执行逻辑:

  • 挂载阶段
    componentDidMount():组件插入 DOM 后调用,适合发起网络请求或订阅事件。

  • 更新阶段
    shouldComponentUpdate(nextProps, nextState):决定是否重新渲染,默认返回 true
    componentDidUpdate(prevProps, prevState):组件更新后调用,可操作 DOM 或发送请求。

  • 卸载阶段
    componentWillUnmount():组件移除前调用,用于清理定时器或取消订阅。

    react类组件实现

状态管理

通过 this.state 定义组件内部状态,使用 this.setState() 更新状态:

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

  increment = () => {
    this.setState({ count: this.state.count + 1 });
  };

  render() {
    return (
      <div>
        <button onClick={this.increment}>+</button>
        <span>{this.state.count}</span>
      </div>
    );
  }
}

事件处理

类组件中事件处理函数需绑定 this,推荐在构造函数中使用 bind 或使用箭头函数:

class EventExample extends React.Component {
  handleClick = () => {
    console.log('Clicked');
  };

  render() {
    return <button onClick={this.handleClick}>Click</button>;
  }
}

Props 接收

通过 this.props 访问父组件传递的属性:

react类组件实现

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

与函数组件的对比

  • 类组件特点
    支持生命周期方法和内部状态管理。
    适用于复杂逻辑或需要精细控制生命周期的场景。

  • 函数组件特点
    通过 Hooks(如 useStateuseEffect)实现类似功能,代码更简洁。
    React 官方推荐优先使用函数组件。

完整示例

以下是一个整合状态、生命周期和事件的类组件示例:

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

  componentDidMount() {
    this.interval = setInterval(() => {
      this.setState({ seconds: this.state.seconds + 1 });
    }, 1000);
  }

  componentWillUnmount() {
    clearInterval(this.interval);
  }

  render() {
    return <div>Seconds: {this.state.seconds}</div>;
  }
}

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

相关文章

react架构如何

react架构如何

React 架构核心概念 React 的架构围绕组件化、虚拟 DOM 和单向数据流设计。组件是构建用户界面的独立模块,分为函数组件和类组件。虚拟 DOM 通过高效的 Diff 算法减少直接操作真实 D…

react如何卸载

react如何卸载

卸载 React 项目或依赖 如果需要完全卸载 React 项目或相关依赖,可以按照以下步骤操作: 删除项目文件夹 直接删除整个项目文件夹是最彻底的方式。确保已备份重要代码或配置文件。 卸载全局安…

如何安装react

如何安装react

安装React的方法 方法一:使用Create React App(官方推荐) Create React App是官方提供的脚手架工具,适合快速搭建React项目。确保已安装Node.js(建议版本≥…

react如何扩展

react如何扩展

扩展 React 项目的常用方法 使用高阶组件(HOC) 高阶组件是一种复用组件逻辑的方式。通过包裹组件并注入额外属性或逻辑,可以实现功能扩展。例如,一个日志记录的高阶组件: function…

react native如何

react native如何

React Native 基础知识 React Native 是一个由 Facebook 开发的框架,用于使用 JavaScript 和 React 构建跨平台移动应用。它允许开发者编写一次代码,同时…

react组件如何通讯

react组件如何通讯

React 组件通讯方式 React 组件间的通讯方式主要包括以下几种方法,适用于不同场景下的数据传递和状态管理需求。 父子组件通讯(Props 传递) 父组件通过 props 向子组件传递数据或回…