Всем доброго времени суток! Делаю универсальную функцию по изменению булева значения в объекте, который является частью массива.
export type TodoListArrayType = Array<{
id: number,
subtitle: string,
important: boolean,
done: boolean,
}>
const generalToggle = (arr: TodoListArrayType, id: number, propertyName: any) => {
const idx = arr.findIndex((item) => item.id === id);
const oldItem = arr[idx];
const value = !oldItem.propertyName;
const item = {...arr[idx], [propertyName]: value};
return [
...arr.slice(0, idx),
item,
...arr.slice(idx + 1)
];
};
Возникает ошибка со значением propertyName.
TS2339: Property 'propertyName' does not exist on type '{ id: number; subtitle: string; important: boolean; done: boolean; }'.
я точно знаю что propertyName будет либо important либо done из типа TodoListArrayType . Но я никак не могу найти информации ( или правильно ее понять ) как передать эту информацию в коде. Подскажите, пожалуйста, как правильно передать тип для propertyName.