【发布时间】:2019-06-20 19:32:20
【问题描述】:
我使用自定义组件创建了一个基于数组的列表,它可以工作,但不能正常工作,因为我确实尝试在组件实现中发送一个“关键”道具,但在组件内部,关键道具没有存在,只是未定义。
预期的行为是访问组件内的“key”道具,并避免在我的应用上出现“key is not a prop”警告。
这是数据
data: [
{ key: 1, definition: "Def 1", example: "Example text 1" },
{ key: 2, definition: "Def 2", example: "Example text 2" },
{ key: 3, definition: "Def 3", example: "Example text 3" }
]
这是组件实现
createDefinitions = (data) => {
return data.map((item, index) => {
return <Definition {...item}/>
})
}
'item' 是一个对象,每个对象都在前一个数组中。其实我在这点上直接加了 'key' 属性,结果是一样的。
在自定义组件中,我尝试打印 props 对象,但 'key' 不存在
<Text>{JSON.stringify(props)}</Text>
您可以在这里输入代码https://snack.expo.io/r1VE3DiQV
预期的行为是在自定义组件中获取关键属性。
谢谢!
【问题讨论】:
-
您发布的代码与您在此处发布的代码不同,并且看起来可以使用,您需要使用 this.props 或 this.state 取决于您是否要访问传递的状态向下作为道具,其他一些道具或当地状态
标签: javascript react-native components key