函数组件和类组件以及使用

函数组件和类组件以及使用

函数组件和类组件以及使用

函数组件和类组件都是非常常见的组件类型。在本文中,我们将详细介绍这两种组件类型。

函数组件

函数组件是一种定义组件的方式,它只是一个 JavaScript 函数。函数组件接收一个 props 对象作为参数,并返回一个 React 元素。函数组件通常比类组件更简单,因为它们没有 state 和生命周期方法。

下面是一个简单的函数组件示例:

import React from 'react';

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

export default Welcome;

在上面的示例中,我们定义了一个名为 Welcome 的函数组件,它接收一个名为 props 的对象作为参数,并返回一个 h1 元素,其中包含了 props 中的 name 属性值。在其他组件中使用 Welcome 组件时,可以通过传递 name 属性的值来定制其显示内容。

值得注意的是,React 中的函数组件还支持 React Hooks,这使得函数组件可以拥有类组件中的一些功能,例如 state 和生命周期方法。下面是一个使用 Hooks 的函数组件示例:

import React, { useState } from 'react';

function Counter({
  const [count, setCount] = useState(0);

  function increment({
    setCount(count + 1);
  }

  return (
    <div>
      <p>You clicked {count} times</p>
      <button onClick={increment}>Click me</button>
    </div>

  );
}

export default Counter;

在上面的示例中,我们使用 useState Hook 来添加了一个名为 count 的状态变量,并使用 setCount 方法来更新该变量的值。在组件中使用 count 变量来显示当前点击次数,并通过 onClick 事件来触发 increment 函数,从而更新 count 变量的值。

类组件

类组件是一种通过 ES6 类定义的组件。类组件通过继承 React.Component 类来获得 React 的特性,例如 state 和生命周期方法。

下面是一个简单的类组件示例:

import React from 'react';

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

export default Welcome;

在上面的示例中,我们定义了一个名为 Welcome 的类组件,它继承自 React.Component 类,并实现了 render 方法来返回一个 h1 元素,其中包含了 props 中的 name 属性值。

与函数组件不同的是,类组件需要使用 this 关键字来访问 propsstate 变量。此外,类组件还可以定义生命周期方法,例如 componentDidMountcomponentWillUnmount 等方法,来控制组件的生命周期行为。

下面是一个使用生命周期方法的类组件示例:

import React from 'react';

class Clock extends React.Component {
  constructor(props) {
    super(props);
    this.state = { datenew Date() };
  }

  componentDidMount() {
    this.timerID = setInterval(() => this.tick(), 1000);
  }

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

  tick() {
    this.setState({ datenew Date() });
  }

  render() {
    return <h1>It is {this.state.date.toLocaleTimeString()}.</h1>;
  }
}

export default Clock;

在上面的示例中,我们定义了一个名为 Clock 的类组件,它包含了一个名为 date 的状态变量,并使用 setInterval 方法来定时更新该变量的值。在组件渲染时,使用 this.state.date 来显示当前时间,并在组件卸载时清除定时器。

组件的使用

定义好组件之后,可以在其他组件中使用它。在使用组件时,需要先将其导入到当前组件中,然后通过标签的方式来渲染该组件。例如,在 App 组件中使用 Welcome 组件的示例代码如下:

import React from 'react';
import Welcome from './Welcome';

function App({
  return (
    <div>
      <Welcome name="Alice" />
      <Welcome name="Bob" />
      <Welcome name="Charlie" />
    </div>

  );
}

export default App;

在上面的示例中,我们将 Welcome 组件导入到 App 组件中,并使用标签的方式来渲染该组件。在渲染 Welcome 组件时,传递不同的 name 属性值来定制其显示内容。


原文始发于微信公众号(大前端编程教学):函数组件和类组件以及使用

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/224163.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!