【发布时间】:2021-11-30 22:32:33
【问题描述】:
我真的是反应新手,我正在尝试 axios 获取一些数据,然后通过发布请求更新它们。这是我的对象
{
"id": "text",
"users": {
"George": {
"age": "6"
}
}}
在我的代码中,我试图像这样获得“乔治”年龄:
const [subparameters, setSubParameters] = React.useState(null);
const params = [];
for (const [key, value] of Object.entries(r.data.users.George)){
const _parm = {parKey: key, parValue: value };
console.log(_parm);
params.push(_parm);
setSubParameters(params)
}
但在我的 POST 请求中,“George”发生了变化,r.data.parameters.George 不再起作用,因为这个名字是另一个名字。有什么办法解决这个问题吗?
【问题讨论】:
-
你可以使用 r.data.users[Object.keys(r.data.users)[0]]。
-
投赞成票,如果有帮助:)
-
@FarrukhRashid this r.data.users[Object.keys(r.data.users)[0]] 只返回 George 但如果我的 JSON 在发布请求后是这样的:“users”:{ “乔治”:{“年龄”:“6”},“玛丽亚”:{“年龄”:“7”},“艾米”:{“年龄”:“8”}}我如何获得每个不同的名称对象核心价值?因为我想将它与另一个变量进行比较。
-
Object.keys(r.data.users) 返回一个包含所有名称的数组,即 ["george", "maria"]。您可以通过它进行映射并进行比较。
-
@FarrukhRashid 你是对的!谢谢!!
标签: reactjs typescript api axios