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

什么是{this.props.children}?何时使用?

孙承
2023-03-14
问题内容

作为React世界的初学者,我想深入了解我使用时会发生{this.props.children}什么以及使用该情况的情况。以下代码段的意义是什么?

render() {
  if (this.props.appLoaded) {
    return (
      <div>
        <Header
          appName={this.props.appName}
          currentUser={this.props.currentUser}
        />
        {this.props.children}
      </div>
    );
  }
}

问题答案:

“孩子”到底是什么?

React文档说,您可以props.children在代表“通用框”并且不提前知道其子级的组件上使用。对我来说,这并没有真正清除一切。我可以肯定的是,这个定义很合理,但对我而言却不是。

我对操作的简单解释this.props.children是, 它用于在调用组件时显示在开始和结束标记之间包含的所有内容。

一个简单的例子:

这是用于创建组件的无状态函数的示例。同样,由于这是一个函数,因此没有this关键字,因此只需使用props.children

const Picture = (props) => {
  return (
    <div>
      <img src={props.src}/>
      {props.children}
    </div>
  )
}

此组件包含一个<img>正在接收一些内容的props,然后显示{props.children}

每当调用此组件{props.children}时,也会显示该组件,这仅是对该组件的开始和结束标记之间的引用。

//App.js
render () {
  return (
    <div className='container'>
      <Picture key={picture.id} src={picture.src}>
          //what is placed here is passed as props.children  
      </Picture>
    </div>
  )
}

<Picture />如果调用该组件将完全打开和关闭标签<Picture> </Picture>,则无需使用自动关闭标签来调用该组件,而是可以在其之间放置更多代码。

这将<Picture>组件与其内容分离开来,并使其更可重用。

参考:React的props.children快速入门



 类似资料:
  • 问题内容: 我意识到我编写的所有组件都不使用。 我倾向于按照官方文档在https://facebook.github.io/react/docs/multiple- components.html 顶部声明的方式来编写组件。 正在像这样嵌套组件… …对像这样组成它们有益吗?: A.js 假设这是正确的术语,我想念的是什么? 问题答案: 在我的应用程序中,我很少使用this.props.childr

  • 问题内容: 我仍然是React的菜鸟,在互联网上的许多示例中,我看到了渲染子元素时出现的这种变化,我感到困惑。通常我看到以下内容: 但是然后我看到一个这样的例子: 现在,我了解了api,但是文档并未确切说明我何时应该使用它。 那么,一个人做什么却另一个人不能做什么呢?有人可以用更好的例子向我解释吗? 问题答案: 编辑: 相反,请看Vennesa的答案,这是一个更好的解释。 原版的: 首先,该示例仅

  • 问题内容: 什么是a ,何时应该使用它?a 和a有什么区别? 问题答案: 如果没有其他对键对象的强引用,则弱哈希图中的元素可以由垃圾回收器回收,这使它们对于缓存/查找存储很有用。 弱引用不限于这些哈希表,您可以对单个对象使用WeakReference。它们对于节省资源很有用,您可以保留对某些内容的引用,但在没有其他引用的情况下允许对其进行收集。(顺便说一句,强引用是普通的Java引用)。还有一些弱

  • 我想为我的移动应用程序添加背景,但当我使用“this.props.children”时,eslint说我“必须使用解构道具分配”。为什么我可以分解这些道具? 这是我的密码, 当我使用这个代码时 当我使用这个代码时, 提前感谢您的帮助!

  • 这里的文件如下: 当涉及到应用程序的单元测试时,我们通常希望避免建立数据库连接,保持测试套件的独立性并尽可能快地执行它们。但是我们的类可能依赖于从连接实例中提取的存储库。我们如何处理?解决方案是创建模拟存储库。为了实现这一点,我们建立了自定义提供者。每个注册的存储库都由存储库令牌自动表示,其中EntityName是实体类的名称。 @nestjs/typeorm包公开了getRepositoryTo

  • 最近,我收到了在代码中使用's的建议,或者在站点上看到了一些使用's的答案--应该是某种容器。但是--我在C++17标准库里找不到类似的东西。 那么这个神秘的是什么?如果它是非标准的,为什么(或何时)使用它是个好主意?