React setState 将新对象推送到数组

React setState push new object to array

我有一个包含对象数组的状态。我想使用 setState 将新对象推送到该数组。我真的不知道该怎么做。非常感谢任何帮助。

代码:

interface permissions {
    guild_id: number,
    role_id:number,
    command_id: number
}

export default function Permissions(){

const [permissions, setPermissions] = useState<permissions[]>([]);

const handleSwitchChange = (event: React.ChangeEvent<HTMLInputElement>) => {
        if(event.target.checked){
            // add to permissions
            const addedPermission = { 
                guild_id: 907366719130054800,
                role_id: role,
                command_id: parseInt(event.target.id)
            }
            
            //This should also keep the current array of objects
            setPermissions([addedPermission])
        }else{
            
        }
    };
//api calls to get the data
}

一位朋友建议在 setPermissions 中使用“三点 (...)”符号。然而,这给出了一个错误,即传播参数必须具有元组类型。有谁也知道他在说什么吗?

提前感谢您的帮助

正如两位好心人在评论中指出的那样,传播运算符应该像这样使用:

setPermissions(permissions => [...permissions, addedPermissions])

可在 here

中找到传播运算符文档的 link