【问题标题】:How to add array of objects in react state hook?如何在反应状态钩子中添加对象数组?
【发布时间】:2025-12-09 11:15:01
【问题描述】:

我从 API 中获取了以下格式的数据

{ 团队注册: [ { 付费:假, _id: 602dea67451db71e71e4babd, 名称:'MOH', 手机:'+919566879683', 标签: 'JAR1NAH', __v: 0 }, {付费:假, _id: 602deb602924a41fb0c88415, 名称:'RAJ', 手机:'+919566879683', 标签: 'JAR1NAH', __v: 0 }, {付费:假, _id: 602deb692924a41fb0c88416, 名称:'两个', 手机:'+919566879683', 标签: 'JAR1NAH', __v: 0 } ], 回合:[], 桌子: [], 持续回合:0, 状态:'未完成', 总量:'0', _id: 602dea4d451db71e71e4babb, 名称:'ATD', 标签: 'JAR1NAH', 日期:'2021-02-25T18:30:00.000Z', __v: 0 }

在这个团队中注册的是一个对象数组。我需要将对象数组存储在状态挂钩中,并且需要访问其中的每个元素,并且我需要将数据发送到另一个组件,

.then(response => {
        console.log(response.teamsregistered) //it shows correct output
        setData({...data,
            name:response.name,
            date:response.date,
            ongoinground:response.ongoinground,
            status:response.status,
            teamsregistered:response.teamsregistered
        })
       console.log(data.teamsregistered) // it shows "undefined"

当我运行 console.log(data.teamsregistered) 时,它会显示“未定义”。如何在状态挂钩中设置并访问其中的每个元素。

【问题讨论】:

标签: javascript reactjs react-hooks


【解决方案1】:

当我运行 console.log(data.teamsregistered) 时,它会显示“未定义”。如何在状态挂钩中设置并访问其中的每个元素。

这是因为setState() hook is asynchronous。所以如果你想看到更新你必须使用useEffect() Hook 来查看状态下的更新 喜欢:-

.then(response => {
        console.log(response.teamsregistered) //it shows correct output
        setData({...data,
            name:response.name,
            date:response.date,
            ongoinground:response.ongoinground,
            status:response.status,
            teamsregistered:response.teamsregistered
        })
useEffect(() => { console.log(data.teamsregistered) }, [data])

【讨论】: