Javascript 设置状态以更新接口阵列

Javascript 设置状态以更新接口阵列,javascript,reactjs,typescript,Javascript,Reactjs,Typescript,我需要更新用户界面中的地址数组。我正在尝试使用setState从UI表单更新地址。我尝试了以下方法: setUser({...user, address: [...(user?.address|| []), addressObject]}); 但是,我得到了以下错误:类型“Address | undefined”不可分配给类型“Address”。类型“未定义”不可分配给类型“地址” export default interface User{ firstName: string,

我需要更新用户界面中的地址数组。我正在尝试使用setState从UI表单更新地址。我尝试了以下方法:

setUser({...user, address: [...(user?.address|| []), addressObject]});
但是,我得到了以下错误:类型“Address | undefined”不可分配给类型“Address”。类型“未定义”不可分配给类型“地址”

export default interface User{

    firstName: string,
    surName: string,
    email: string,
    phone: string
    Address: Address[]
}

任何帮助都将不胜感激

请确保您的
地址
道具已定义,然后再将其设置为状态。您可以按以下方式执行此操作:

if(用户地址){
setUser({…用户,地址:[…(user.address | |[]),addressObject]});
}
ts将拾取该
用户。地址将在调用
setState
时定义

或者,如果要允许未定义
地址
,则可以将接口定义更改为:

导出默认用户界面{
...
地址:地址[]|未定义
}

什么是
addressObject
?不相关,但
Address
并不是地址集合的好名称,
setUser
调用使用了
Address
属性,而接口拼写为
Address