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

如何在功能组件中设置displayName [反应]

赫连鸿振
2023-03-14
问题内容

我知道displayName有时需要设置,尤其是在处理生产版本时。我想知道如何使用我的功能组件进行设置-是否可以/允许?

这是我在班级组件中得到的:

const MyComponent = React.createClass({
  displayName: 'HeyHey',

  render: function() {
    console.log(this.displayName);
  }
});

我如何在无状态组件中执行相同的操作?


问题答案:

displayName说的文档

displayName字符串用于调试消息。通常,您不需要显式设置它,因为它是从定义组件的函数或类的名称推断出来的。如果要出于调试目的显示其他名称,或者在创建高阶组件时,可能需要显式设置它,有关详细信息,请参见包装显示名称以便于调试。

就您而言,您只需使用

const MyComponent = (props) => { ... }

MyComponent.displayName = 'HeyHey'

如果要在组件上设置默认属性,请defaultProps改用

const MyComponent = props => {
  return (
    <p>How you doin, {props.name}?</p>
  )
}

MyComponent.defaultProps = {
  name: 'Alice'
}

ReactDOM.render (<MyComponent/>, document.body)
// <p>How you doin, Alice?</p>


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

  • 问题内容: 我试图了解何时使用React功能组件和类,并从文档中阅读它们并没有真正详细介绍。当您希望类的特定功能构成组件时,能否给我下面的一些主要例子? 功能组件的功能较弱,但更简单,并且仅使用一个render()方法就类似于类组件。除非您需要仅在类中可用的功能,否则我们建议您改用功能组件。 问题答案: 您仅在以下情况下需要组件: 需要组件 状态 或 需要 生命周期方法 。例如等

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

  • 如何设置父组件的状态从子组件内部的反应?子组件只是一个我想设置组件状态的函数。

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

  • 问题内容: 最初,我使用以下ajax设置cookie。 现在,我想使用servlet的添加cookie函数来设置cookie。但是我不知道如何实现我的目标。 为了延长Cookie的时间限制,我应该在React端写些什么来接收Cookie的会话时间? 问题答案: 看来以前在npm软件包中存在的功能已移至。现在,来自通用Cookie存储库的相关示例是: