我有这个问题。
带接口:
export interface IDevice {
id: string,
selected: boolean
}
Run Code Online (Sandbox Code Playgroud)
通过以下方式创建实例:
let newDevice: IDevice = {
id: uuid4(),
selected: false,
} as IDevice;
Run Code Online (Sandbox Code Playgroud)
它以反冲状态添加到数组中,并在 React 中用于使用 useRecoilState() 检索数组的函数中。
const [leftList, setLeftList] = React.useState<IDevice[]>([]);
现在它在处理程序中用于选择列表控件上的设备,这里发生错误:
...
leftList.map((item: IDevice) => {
if (item.id === event.dataItem.id) {
item.selected = !item.selected;
}
return item;
})
...
Run Code Online (Sandbox Code Playgroud)
我收到错误:无法分配给对象“#”的只读属性“选定”
即使先通过 [...leftList] 克隆数组也没有帮助。
我迷路了:-)希望有人能对此有所了解吗?