Typescript. Проверка каждого существующего ключа объекта

Когда меняется state таким образом, используя константы и аргументы

setChosenCategoryAudios({
  [buttonName]: !objCategoryAudios[buttonName],
});

typescript просит уточнение типа и ключа объекта тоже И код приходится писать так

const initialStateActiveBtn: { [key: string]: boolean } = {
  myAudios: true,
  allAudios: false,
  friendsAudios: false,
};

Вместо такого

interface IinitialStateActiveBtn {
  myAudios: boolean;
  allAudios: boolean;
  friendsAudios: boolean;
}
const initialStateActiveBtn: IinitialStateActiveBtn  = {
  myAudios: true,
  allAudios: false,
  friendsAudios: false,
};

, но в первом случае typescript не следит за конкретным ключом, то есть если поставить левый ключ в коде с булевым значением он ругаться не будет. Кто знает если мы делаем таким образом изменение объекта, как задать проверку по каждому существующему ключу.

setChosenCategoryAudios({
  [buttonName]: !objCategoryAudios[buttonName],
});

Ответы (0 шт):