#typescript #react-typescript
Вопрос:
У меня есть этот тип для формы реакции:
type User = {
fullName: string,
username: string,
email: string;
password: string;
};
Чтобы отобразить некоторые ошибки, поступающие из API, мне нужно использовать эти значения для константы с именем «ключи».
const keys = Object.keys(errorsFromApi);
При установке ошибок он указывает мне на следующую ошибку:
Argument of type 'string' is not assignable to parameter of type '"fullName" | "username" | "email" | "password"'
Я быстро исправил клавиши ввода: (любые), но я хотел бы знать, как я могу это сделать правильно.
Большое спасибо за вашу помощь! 🙂
Комментарии:
1. Как насчет
const keys = Object.keys(errorsFromApi) as (keyof User)[];
этого ?2. Это сработало! Спасибо 🙂
Ответ №1:
Object.keys
Тип не очень строгий, поэтому я обычно определяю свою собственную keys
функцию следующим образом:
const keys = <T extends Record<PropertyKey, unknown>>(obj: T): Array<keyof T> =>
Object.keys(obj)