【发布时间】:2019-04-26 02:29:30
【问题描述】:
我有两个接口。除了一个键之外,它们非常相似。
interface InitialStateFromDB {
uploads: {
companyImage: string,
map: string
},
adminPasswords: string,
postInfos: PostInfo[] | undefined
}
interface InitialState extends Omit<InitialStateFromDB, 'adminPasswords'> {
adminPasswords: AdminPassword
}
我从 DB 中获得了 initialState。
const initialStateFromDB: InitialStateFromDB = window.__PRELOADED_STATE__;
然后我从 initialStateFromDB 中提取每个属性的值来生成 initialState。
let adminPasswords: AdminPassword = JSON.parse(initialStateFromDB.adminPasswords);
const initialState : InitialState = {
uploads : initialStateFromDB.uploads,
adminPasswords,
postInfos: initialStateFromDB.postInfos
}
但我认为除了 adminPasswords 属性之外,还有一种更简单的合并方法。所以我搜索了这个。
Clone a js object except for one key
但是,我不知道如何在 typescript 中这样做。
所以,我的问题是 “如何克隆除 Typescript 中的一个键之外的对象”
【问题讨论】:
标签: typescript