Typescript Can';t在自定义对象贴图类型上展开
我有这个实用程序接口:Typescript Can';t在自定义对象贴图类型上展开,typescript,Typescript,我有这个实用程序接口: export interface ObjectMap<T = any> { [key: string]: T; } 我认为代码有问题 delta[language]-是一个字符串,而不是一个对象,传播它有点奇怪 {…someObj,…“string”}-意外代码 我认为您希望扩展…delta本身,或者您需要更好地定义其类型,如果它是字符串对象的对象,那么它应该是delta:ObjectMap Object.assign具有(目标:对象,…来源:any[
export interface ObjectMap<T = any> {
[key: string]: T;
}
我认为代码有问题
delta[language]
-是一个字符串,而不是一个对象,传播它有点奇怪
{…someObj,…“string”}
-意外代码
我认为您希望扩展…delta
本身,或者您需要更好地定义其类型,如果它是字符串对象的对象,那么它应该是delta:ObjectMap
Object.assign
具有(目标:对象,…来源:any[]):any代码>签名。这就是它接受字符串的原因
export const saveLocalizationDeltas = (
namespace: string,
deltas: ObjectMap<string>,
) => {
...
const updated = localizations
? { ...localizations, ...deltas[language] } // Spread types may only be created from object types
: deltas[language];
Object.assign({}, JSON.parse(localizations), deltas[language])