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

“无法给无状态功能组件提供引用”是什么意思?

沈凯康
2023-03-14
问题内容

我有这个:

const ProjectsSummaryLayout = ({projects}) => {
   return (
      <div className="projects-summary col-md-10">
          <h3>Projects</h3>
          <ul>
              { projects.map(p => <li key={p.id}>{p.contract.client}</li>) }
          </ul>
      </div>
   )
}

const ProjectsSummary = connect(
   state => ({projects: state.projects})
)(ProjectsSummaryLayout)

我得到:

警告:无法为无状态功能组件提供引用(请参阅由Connect(ProjectsSummaryLayout)创建的ProjectsSummaryLayout中的引用“
wrappedInstance”)。尝试访问此引用将失败。

它试图告诉我什么?我实际上在做错什么吗?

我在这里看到有关此问题的讨论,但不幸的是,我根本不理解结论。


问题答案:

在React中,refs可能不会附加到无状态组件。

无论*是否 为无状态,React Redux 3都会
将a附加ref到您为其提供的组件上。您看到的警告来自React,因为React Redux 3在内部将a附加到您提供的无状态组件()。


*ref``ProjectsSummaryLayout

您没有做错任何事情,根据此GitHub评论,您可以放心地忽略该警告。

在React Redux 4中ref默认情况下,打包组件没有附加任何内容,这意味着如果您升级到React Redux 4,该警告将消失。



 类似资料:
  • 问题内容: 我正在尝试将在这里找到的这个很棒的动画转换为React可重用的组件。看来此组件将需要一个父组件作为画布,而许多子组件则为。 出于性能方面的考虑,将它们变成无状态组件可能会更好,因为会有很多这样的组件。我不熟悉制作无状态组件,并且想知道应该在哪里定义和中定义的和函数。 无状态组件的功能是在组件内部还是外部?换句话说,以下哪个更好? 1: 2: 每种都有什么优点/缺点,其中哪一种对我的特定

  • 在不使用类的情况下,如何在react的功能性无状态组件中使用PropTypes?

  • 问题内容: 我正在研究Java for Web,它提到http是无状态的。这是什么意思,以及它如何影响编程 我也在研究spring框架,它提到了一些Bean,因为它们的状态发生了变化,它们必须声明为内部Bean。那是什么意思 问题答案: HTTP(服务器与客户端之间的实际传输协议)是“无状态的”,因为它在调用之间不记忆任何内容。 通过HTTP访问的 每个 资源都是单个请求,它们之间没有线程连接。如

  • 了解到,从React v15.3.0中,我们有一个名为PureComponent的新基类,可以使用PureRenderMixin内置进行扩展。我所理解的是,在引擎盖下,它采用了内部道具的浅层比较。 现在我们有3种方法来定义React组件: 不扩展任何类的函数无状态组件 扩展类的组件 扩展类的普通组件 一段时间以前,我们将无状态组件称为纯组件,甚至是哑组件。似乎“纯粹”这个词的整个定义现在在《反应》

  • 问题内容: 从 React v15.3.0 知道,我们有了一个名为 PureComponent 的新基类,以扩展内置的 PureRenderMixin 。我了解的是,在幕后,它对内部的道具进行了浅浅的比较。 现在,我们有3种方法来定义React组件: 功能性无状态组件,不扩展任何类 扩展类的组件 扩展类的常规组件 一段时间以前,我们曾经将无状态组件称为“纯组件”,甚至称为“哑组件”。似乎“纯”一词

  • 我正在尝试学习“react router”,我正在开发一个应用程序,它有一个输入字段,可以为您提供一个下拉列表,其中包含指向欧洲各个火车站的链接,当您单击该链接时,它将呈现一个组件,在本例中为