Доки по разработке
This project is maintained by teniryte
Принципы
Form<LoginForm>).[K in keyof T]) позволяет типизировать связанные структуры (errors, values).errors) приводит к ошибке компиляции, подчёркивая ценность строгой типизации.Пример
interface Form<T> {
errors: {
[K in keyof T]?: string;
};
values: T;
}
type LoginForm = {
email: string;
password: string;
};
const form: Form<LoginForm> = {
errors: {
email: 'Неверный адрес',
// age: '...' // Ошибка: ключа нет в LoginForm
},
values: {
email: 'teniryte@gmail.com',
password: 'charmed',
},
};
Практика
Form<TValue, TError>), если тип ошибки не совпадает со string.T extends Record<string, unknown>).