name: string }
есть форма создания/редактирования сущности типа Х, которая предполагает, что если это новая сущность то id = null
сущности без id улетают на сервер и больше нигде не фигурируют.
поле id используется во многих местах, поэтому если сделать id: string | null, то придется ставить type assertion через !, во многих местах кода, это решение не элегантное.
как лучше поступить? создать два типа на одну сущность?
type Creating<T extends {}> = Omit<T, 'id'> & { id: null } Creating<User> Creating<Order> ...
круто! спасибо большое
Обсуждают сегодня