【发布时间】:2019-09-12 01:03:21
【问题描述】:
我正在尝试将对象数组(最终将替换为实际数据的 axios 调用)从父组件传递到子组件,并进一步从一个子组件传递到其他子组件,我无法传递,因为我收到错误消息“对象作为 React 子级无效(找到:带键的对象)。如果您要渲染子级集合,请改用数组。”
/ABC.js
import React from 'react'
import ABCD from '../ABCD/ABCD'
const plans = [
{
id:'1',
title:'option 1',
value:'option1',
name:'option'
},
{
id:'2',
title:'option 2',
value:'option2',
name:'option'
}
]
const ABC = () => {
return (
<div>
{
plans.map( plan => {
return(
<ABCD data={plan} />
);
})
}
</div>
);
}
export default ABC
//ABCD.JS
import React from 'react'
const ABCD = ({data}) => {
return (
<div>
{data} //Here as of now data is being used , will be replaced by other child components
</div>
);
}
export default ABCD
预期的结果应该是对象数组的显示,但实际输出是错误消息“对象作为 React 子项无效(找到:带有键 {id、title、value、name} 的对象)。如果你旨在渲染一组子项,请改用数组。”
【问题讨论】:
-
这是因为数据是一个对象?您需要将其呈现为字符串吗?然后先解析成json
-
@keysl 如果我想通过 stringify 将整个数据显示为字符串可以使用它,但是如果我想使用获得的数据发送到下一个子组件,则可以发送整个数据?
-
@devserkan 不完全,我之前看过这个问题,我想进一步将道具发送给其他子组件。
-
@nishant 如果您将其发送到子组件,它将起作用,错误来自您访问对象的方式
标签: javascript reactjs ecmascript-6