当前位置: 首页 > 知识库问答 >
问题:

基于类的组件与功能组件有什么区别(Reactjs)[重复]

柳德义
2023-03-14

我是一个新的反应,我想有一个明确的想法,其中一个使用,当谈到组件,我看到有两种类型。

功能组件:

import React from 'react'

const userInput = (props) => {
    return(
        <div>
            <input type='text' onChange={props.nameChanged} value={props.username}></input>
        </div>
    )
};

export default userInput;

基于类的组件:

import React, { Component } from 'react';
import './App.css';
import UserOutput from './UserOutput/UserOutput';
import UserInput from './UserInput/UserInput';

class App extends Component {

  render() {
    return (
      <div className="App">
        <h3>Assignment Output :</h3>
        <ul>
          <li>
            <UserOutput 
            username={this.state.Usernames[0].username}>
            Welcome to React!
            </UserOutput>
            <UserInput 
            nameChanged={this.nameChangedHandler}>
            </UserInput>
          </li>
                      </ul>
      </div>
    );
  }
}

export default App;

我读到,我们应该总是尝试使用功能组件,因为它在某些方面有帮助,而且还听说我们应该尽可能避免使用基于类的组件。

我搞不清楚哪个是对的,哪个不是。

为什么要尽可能使用功能组件,好处是什么?

我们什么时候应该选择功能组件,什么时候不选择,还不清楚。

共有1个答案

董飞航
2023-03-14

类组件

>

  • 基于类的组件使用ES6类语法。它可以利用生命周期方法。

    正如您在给出的示例中所看到的,上面的类组件从React扩展而来。组成部分

    在这里,您必须使用这个关键字来访问在类组件中声明的道具和函数。

    功能部件

    >

  • 与基于类的函数相比,函数组件更简单。

    功能组件主要关注应用程序的UI,而不是行为。

    更准确地说,这些基本上是类组件中的渲染函数。

    功能组件不能有状态,也不能使用生命周期方法。

  •  类似资料:
    • 问题内容: 我是 React的 新手,我想清楚地知道要使用哪一种,关于组件,我看到有两种类型。 功能组件: 基于类的组件: 我读到我们应该始终尝试使用 功能性组件, 因为它在某些方面有所帮助,并且还听说我们应该尽可能避免使用基于 类的组件 。 我很困惑哪个是对的,哪个不是。 为什么要尽可能使用功能组件,这样做有什么好处? 我们何时应该选择功能组件,何时不应该,尚不清楚。 问题答案: 类组件 基于类

    • 本文向大家介绍组件和插件有什么区别?相关面试题,主要包含被问及组件和插件有什么区别?时的应答技巧和注意事项,需要的朋友参考一下 组件 (Component) 是用来构成你的 App 的业务模块,它的目标是 App.vue。 插件 (Plugin) 是用来增强你的技术栈的功能模块,它的目标是 Vue 本身。

    • 我目前有一个类组件和一个函数组件在我的主组件 以下是的代码段: 类组件 功能部件 因此,我想做的是通过按钮的onClick操作,从功能组件更改类组件的状态。我怎样才能完成任务?

    • 在花了一些时间学习React之后,我理解了创建组件的两种主要模式之间的差异。 我的问题是什么时候我应该使用哪一个,为什么?一种方法与另一种方法相比有哪些好处/利弊? ES6类: 功能: 我认为只要没有状态可被该组件操纵,就可以正常工作,但就这样吗? 我想如果我使用任何生命周期方法,最好使用基于类的组件。

    • 本文向大家介绍展示组件和容器组件有什么区别?相关面试题,主要包含被问及展示组件和容器组件有什么区别?时的应答技巧和注意事项,需要的朋友参考一下 展示组件(Presentational Component) 关注页面的展示效果(外观) 内部可以包含展示组件和容器组件,通常会包含一些自己的DOM标记和样式(style) 通常允许通过this.props.children方式来包含其他组件。 对应用程序

    • 我写这个问题是因为我想请你帮助我如何在我的功能组件上使用redux。我查看了其他使用React组件的示例,但我不理解如何在功能组件中获得“存储”值。 我的想法是用我的 百货商店getState() 在我的功能组件中检查状态并与UI交互,但我无法实现。 需要帮忙吗? 例如,功能组件: 如何在标题组件中使用“存储”对象?它在我的应用程序组件上工作,只是我不知道如何在我的组件中使用它。 我的问题是: 我

    • 本文向大家介绍受控组件和非受控组件有什么区别?相关面试题,主要包含被问及受控组件和非受控组件有什么区别?时的应答技巧和注意事项,需要的朋友参考一下 受控组件用value和组件的state绑定,当value更新时,会自动更新state 非受控组件没有value,采用ref直接操作dom

    • 问题内容: 在花了一些时间学习React之后,我了解了创建组件的两个主要范例之间的区别。 我的问题是,什么时候应该使用哪个?为什么?一个人相对于另一个人的利益/取舍是什么? ES6课程: 功能性: 我认为只要没有状态可以由该组件操纵,功能就可以了,是吗? 我猜如果我使用任何生命周期方法,最好使用基于类的组件。 问题答案: 你有正确的主意。如果您的组件只做一些道具和渲染,那么功能就可以了。您可以将它