react我想覆盖对象的值



开发环境
・反应・Typescript
我想覆盖target.level中的参数级别。
但是,会显示以下错误,无法覆盖
target.level=level显示错误。

错误类型错误:无法分配给对象"#"的只读属性"level">

interface ILevel {
id: number;
name: string;
}
interface ILanguageLavels {
language: ILanguage;
level?: ILevel;
}
const onClick = (value: ILevel, updateStateId: number) => {
const clonelanguagelevel = [...state.searchState.languageLavels];
const target = state.searchState.languageLavels[updateStateId];
target.level = value;
clonelanguagelevel.splice(updateStateId, 1, target);
setState({
...state,
searchState: {
...state.searchState,
languageLavels: clonelanguagelevel,
},
});
};

试试这个:

let target = state.searchState.languageLavels[updateStateId];
target = {
...target,
level: value,
};

最新更新