Функция переопределения машинописного текста для объекта
Итак, у меня есть эта небольшая функция для пинии. Где я добавляю идентификатор своего объекта для его фильтрации (результат имеет тип
Task | undefined
) Я даю ключ, который, конечно, должен быть
keyof Task
и теперь я как бы борюсь с
value
часть. Я пытался выяснить, что лучше всего подходит для моего варианта использования, это должно быть что-то вроде значения Of или около того, но в настоящее время я не могу найти правильный тип утилиты (если он вообще должен быть).
changeValue(id: number, key: keyof Task , value: Partial<Task>) {
const task = this.one(id);
if (task) {
task[key] = value;
}
}
Также у меня есть вторая проблема, которая
task[key]
говорит, что это типа
never
кто-нибудь может объяснить, почему это типа никогда?
1 ответ
Вы можете заставить свой код работать, просто используя вывод TypeScript с надлежащим потоком управления:
changeValue(id: number, key: keyof Task , value: Partial<Task>) {
const task = this.one(id);
if(task === undefined)
return; // Handle the undefined case
const propToAssign = value[key];
if(propToAssign === undefined)
return; // Handle the undefined case
task[key] = propToAssign;
}