javascript - 无法读取未定义的属性 0 - 即使使用条件渲染
问题描述
在以下情况下,我无法意识到自己做错了什么:
我有一个名为 的数组,arrayOfChildren
它的启动方式如下:
const [arrayOfChildren,setArrayOfChildren]=React.useState([])
给定一个处理函数,我想将一个包含对象的数组推送到 中arrayOfChildren
,该数组随后将具有以下形式:
const arr=[[{"A":"trial","B":"test"},{"hey":"Test"}],[{"A":"trial","B":"test"},{"hey":"Test"}],[{"A":"trial","B":"test"},{"hey":"Test"}],[{"A":"trial","B":"test"},{"hey":"Test"}]]`
, 所以推入数组的形式是[{},{}]
我的处理程序如下:
const handleAdditionOfSubGroup=(addChildGroup)=>{
setArrayOfChildren([
...arrayOfChildren,
addChild
])
}
这就是我返回它的方式:
{arrayOfChildren.length>0 &&
arrayOfChildren.map((item,index)=>{
return <MyResponsivePieChart
ourObject={item[index]}
key={'item-' + item[0][0].id}
/>
})}
当我尝试通过记录数组来查看发生了什么时,它总是显示为空,即使addChild
显示正确。谢谢 !
解决方案
我相信以下代码中的更正会有所帮助。
{arrayOfChildren.map((item,index)=>{
return <MyResponsivePieChart
ourObject={item[0]}
key={'item-' + item[0].id}
/>
})}
推荐阅读
- reactjs - React Router DOM - 重定向组件无法正确呈现路由
- android - Android Kotlin:调试期间局部变量不可用
- java - 用mysql数据库创建jar文件
- cordova - 我可以使用完整的用户代理字符串吗?
- python-3.x - 用 opc ua Python 写一个值
- java - Spring bean 防止实例化并使用预期的实现
- python - 无法在 pandas 的列中找到特定值,但我可以在 R 中找到它
- php - UTF-8 转换问题
- php - Laravel 7.0 中不允许序列化“闭包”
- sql - oracle 使用时间戳列跟踪表上的历史记录