Javascript react中的多级道具

Javascript react中的多级道具,javascript,reactjs,Javascript,Reactjs,我最近开始学习反应。我不明白这一点: this.props.message.text 我知道message是一个包含键值对的对象,键值为text。 但我的问题是,当我们要将道具传递给组件时: 我的问题是为什么我们要写message={message} 为什么我们不改为写message={message.text},这样我们就知道我们想要text 它如何知道我们想要消息对象中的文本。假设消息对象中有更多属性,例如: { text: 'this is my message', author

我最近开始学习反应。我不明白这一点:

this.props.message.text

我知道
message
是一个包含键值对的对象,键值为
text
。 但我的问题是,当我们要将道具传递给组件时:

我的问题是为什么我们要写
message={message}

为什么我们不改为写
message={message.text}
,这样我们就知道我们想要
text


它如何知道我们想要
消息
对象中的
文本
。假设消息对象中有更多属性,例如:

{
  text: 'this is my message',
  author: 'odiwxe',
  sentAt: '2018-05-30T12:30:00'
}
然后您的
组件
可能需要所有这些信息来显示它,以便您可以按如下方式传递它:

<Component message={message}>

这取决于你

这取决于
组件的功能。假设消息对象中有更多属性,例如:

{
  text: 'this is my message',
  author: 'odiwxe',
  sentAt: '2018-05-30T12:30:00'
}
然后您的
组件
可能需要所有这些信息来显示它,以便您可以按如下方式传递它:

<Component message={message}>
这取决于你

事实上,它不是。 当我们需要消息的文本时,我们必须使用以下方式传递给子组件的道具来访问数据:

{this.props.message.text}
因此,当任何子组件需要由其父组件发送的数据时,您需要告知在子组件中需要数据的对象名称。 例如:

<Parent Component {

//Some code//


<ChildComponent propsName = {propsData}
}
事实上,事实并非如此。 当我们需要消息的文本时,我们必须使用以下方式传递给子组件的道具来访问数据:

{this.props.message.text}
因此,当任何子组件需要由其父组件发送的数据时,您需要告知在子组件中需要数据的对象名称。 例如:

<Parent Component {

//Some code//


<ChildComponent propsName = {propsData}
}

组件需要消息,而不仅仅是消息文本。为什么?不知道上下文之外的不可能猜测,一般来说,你给组件他们期望的东西。组件期望的是消息,而不仅仅是消息文本。为什么?不要断章取义,不可能猜到,一般来说,你给组件他们期望的。谢谢。对于上下文,这是一个链接:我的prpblem位于App.js文件中的
renderTasks
函数中。它使用了
task.\u id
用于id,但对于任务文本,它只写入了
task
。是的,您是正确的-在本教程中,实际上不需要通过整个任务,因为它只使用
text
属性。但是,如果向对象添加了更多属性,则传递整个
任务
对象允许您轻松更改
任务
组件,而无需更改父对象以传递新的propsthank。对于上下文,这是一个链接:我的prpblem位于App.js文件中的
renderTasks
函数中。它使用了
task.\u id
用于id,但对于任务文本,它只写入了
task
。是的,您是正确的-在本教程中,实际上不需要通过整个任务,因为它只使用
text
属性。但是,如果向对象添加了更多属性,则传递整个
任务
对象允许您轻松更改
任务
组件,而无需更改父对象以传递新的propsthank。请阅读我对Christos Dimitroulas回答这个问题的评论。你能帮我查一下吗?我想这就是你要找的。谢谢。请阅读我对Christos Dimitroulas回答这个问题的评论。你能帮我查一下吗?我想这就是你要找的。