当前位置: 首页 > 面试题库 >

反应功能组件与经典组件

郎玮
2023-03-14
问题内容

我试图了解何时使用React功能组件和类,并从文档中阅读它们并没有真正详细介绍。当您希望类的特定功能构成组件时,能否给我下面的一些主要例子?

功能组件的功能较弱,但更简单,并且仅使用一个render()方法就类似于类组件。除非您需要仅在类中可用的功能,否则我们建议您改用功能组件。


问题答案:

您仅在以下情况下需要class组件:

  • 需要组件 状态
  • 需要 生命周期方法 。例如componentDidMount


 类似资料:
  • 我是新的反应,我正在尝试组件功能的风格。我有简单的待办事项清单。我想使用style属性从列表中删除todo项。从Chrome调试模式中,我看不到对复选框更改的即时反应,而且该项也没有删除。。。对我来说,这是如何管理组件状态的问题。我希望得到一些指导。 App.js Todos.js TodoItem.js 我希望这个getStyle()将遵循状态。。。以某种方式

  • 我正在使用一个名为React语义ui日期选择器的React模块,我相信它是基于React日期选择器的。不管怎样,这都是一个普通的问题。我的主类组件和日期选择器功能组件位于同一个文件中。日期选择器呈现并工作正常,但我不知道如何在主类组件中访问日期选择器的实际值。 代码的简化版本可以在下面看到,我只是控制台日志记录了几个变量的值。有人能给我一个建议,告诉我从类组件中访问所选日期选择器值的最佳方式吗?

  • 问题内容: 我有React表单,其中有一个用于渲染下拉菜单的Component,因为这些选项来自API。但是,我无法访问嵌入式组件的引用。我正在整理我的第一个表格,并试图了解解决此问题的最佳方法。 问题答案: 最好将视为回调属性,并且不再依赖于Object。如果确实使用对象,请避免访问后代组件。您应该将其视为私有访问器,而不应将其视为组件API的一部分。仅将组件实例上公开的方法视为其公共API。

  • 问题内容: 我知道有时需要设置,尤其是在处理生产版本时。我想知道如何使用我的功能组件进行设置-是否可以/允许? 这是我在班级组件中得到的: 我如何在无状态组件中执行相同的操作? 问题答案: 说的文档 该字符串用于调试消息。通常,您不需要显式设置它,因为它是从定义组件的函数或类的名称推断出来的。如果要出于调试目的显示其他名称,或者在创建高阶组件时,可能需要显式设置它,有关详细信息,请参见包装显示名称

  • 我在学反应。我读过一篇文章,建议我们使用函数组件,而不是扩展react.component的类,所以我跟着做了。我也使用箭头函数而不是函数关键字。即: 有没有一种方法可以使用setState()来代替setName()、setId()、…等?或者任何建议? 非常感谢!

  • 好的,我有点困惑于如何使用enzyme/jest测试我的组件的功能。仍在学习如何测试我的组件——我可以编写简单的测试,但现在我需要让它们更复杂。 我想知道测试组件函数是否被正确调用以及它们是否按预期更新状态道具的最佳方法。我发现很棘手的是,我的函数和状态都存在于我的组件的道具中。 如果我需要使用间谍,我想最好知道如何使用笑话,但是如果像西农或贾斯敏这样的特工更适合这份工作,我愿意接受(只要让我知道