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

HOC中的内部功能如何获得道具

柯子琪
2023-03-14
问题内容

我只是开始使用HOCin React,有一点让我感到困惑的是,在此示例中,我的内部函数如何获得props作为参数的访问权限?

const withProps = Component => (
  props => {
    return <Component {...props}/>
  }
)

export default withProps

问题答案:

为了增加@AliAnarkali所说的内容,HOC将为您返回一个组件,因此当您编写类似

const EnhancedApp = withProps(App);

EnhancedApp基本上是

  const EnhancedApp = props => {
    return <Component {...props}/>
  }

哪个功能组件以及何时渲染EnhancedApp

<EnhancedApp onChange={this.onChange} value={this.state.value} />

这类似于功能组件如何接收onChange和value作为道具,因此在HOC中,内部函数会像这样获取道具。



 类似资料:
  • 问题内容: 我有一个SQL查询,该查询对3-4个表执行JOIN操作以获取数据。现在,我们正转向elasticsearch以获得更好的性能。如何使用elasticsearch复制相同的JOIN查询?我已经阅读了有关父/子文档的信息,但是我的数据没有任何严格的父/子类型的数据。 问题答案: Elasticsearch不支持JOIN,这首先是NoSQL技术的全部目的。有多种方法可以使用父/子关系(如您所

  • 问题内容: 是否有显示大图像并允许用户放大和缩小和平移图像的通用方法? 到目前为止,我发现了两种方法: 覆盖ImageView,对于这样一个常见问题似乎有点过多。 使用网络视图,但对整体布局的控制较少等。 问题答案: 更新 我刚刚给TouchImageView进行了新的更新。现在,除了“平移”和“缩放”缩放外,还包括“双击缩放”和“缩放”。下面的代码是非常过时。您可以签出github项目以获取最新

  • 问题内容: 本文指出:“ defer语句将函数调用推送到列表上。” 我想知道是否可以从程序的另一个位置访问该列表中的元素,然后调用它们?我可以多次调用它们吗?我假设我对具有延迟行为(如果有帮助)的函数进行了引用。 因此,这是我想做的简短示例: 问题答案: 调用存储的“列表” 完全是特定于实现的,因此您 没有可靠的方式访问此列表 。1,2个为* G编译器家族中的实现细节(虽然有点老),可以发现在拉斯

  • 问题内容: 关于使用/的最佳实践,我有一个非常基本的问题。我有一个像这样的简单函数(DAO) 并在Web服务中使用DAO功能: OR最好在DAO函数中使用/,如下所示: 问题答案: 没有完美的规则。 如果需要尽早但尽可能晚地捕获异常,通常代码会更清晰,更简单。 您应该考虑在发生这种情况时谁必须采取行动,这决定了您是在方法(addVehicle)内进行操作还是调用方必须执行该操作。 例如: 在此示例

  • 问题内容: 我的问题是: 据我所知,这取决于如何使用,即用作构造函数或函数。可什么是在不同的情况下? 问题答案: 的关键字是指功能所属的对象,或对象如果函数不属于任何对象。 在OOP代码中使用它来引用该函数所属的类/对象,例如: 这提醒: 您可以使用或函数操纵引用的对象。 (有时非常方便)

  • 假设我们有一个垂直的(即flex-direction:column)flexbox容器,具有给定的宽度和高度。flexbox包含div,每个div包含一个图像。 所有DIV和图像都应该以相同的百分比收缩/增长,以填充flexbox的高度,这是通过使用flex-shrink和/或Flex-Grow实现的。 所有图像都应该保持其纵横比(即不拉伸),这是通过不设置其css“width”属性来实现的。 每