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回答这个问题的评论。你能帮我查一下吗?我想这就是你要找的。