我想向狀態陣列添加一個物件。
我想使用擴展語法將物件 {user.uuid,user.id} 添加到狀態陣列,我想將物件 {user.uuid,user.id} 添加到狀態陣列。但是我收到錯誤訊息,無法為狀態添加任何值。如果有人知道如何解決這個問題,請告訴我。
const [id, setId] = React.useState<[{uuid: number; id: number}]>([]);
useEffect(() => {
if (id === null) {
users.map((user) => setId([...id, {user.uuid, user.id}]));
}
}, [users]);
我想創建這樣一個陣列。
[
{ uuid:sadsa
id:1
},
{ uuid:dadsad
id:2
},
{ uuid:jihji
id:3
},
{ uuid:mokok
id:4
},
]
uj5u.com熱心網友回復:
我從您的代碼中了解到您的狀態是一個陣列,這意味著您要使用的型別是{uuid: number; id: number}[]. 因此,useState宣告應該是:
const [id, setId] = React.useState<{uuid: number; id: number}[]>([]);
uj5u.com熱心網友回復:
// define Item type
type Item = {
uuid: number, id: number
}
// define type as Item array
const [id, setId] = React.useState<Item[] | []>([]);
const user: Item = { uuid: 1, id: 123 };
// setId accepts array of Item, So
setId([...id, user]);
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/323454.html
標籤:反应
上一篇:比較兩個物件陣列并得到差異
