В реакте также есть экспортируемый тип type PropsWithChildren = P & { children?: ReactNode | undefined };
@annaumi
8 ай бұрын
genapi :) и за секунду поля с бека обновлены
@CJIu3eHb
Жыл бұрын
Т.е. от переименований полей бекендом нужен адаптер какой-то при приеме? В принципе, вариант, конечно, но не знаю, что таки лучше - Pick/Omit или адаптер. Если есть общий код для нескольких сущностей, вроде getId, тут Pick/Omit, наверное, лучше не использовать. А если это компоненты для разного отображения одной сущности - то Pick/Omit могут быть удобны. Иногда есть, конечно, риск, что появится еще одна сущность для которой захочется использовать эти компоненты и будет странно смотреться Pick/Omit для одной конкретной сущности, но тут уж все от конкретного случая зависит.
@paromovevg
Жыл бұрын
Данные которые отдаёт бекендер не консистентны даже если это одна сущность. В какой то момент появляются новые поля, или создаются поля рассчитанные в рантайме Pick Omit - Ухудшают читаемость и создают неявные связи которые приводят к появления "несуществующих" полей в типах Но вообще советую посмотреть на zod для гарантированной типизации входных данных
@CJIu3eHb
Жыл бұрын
@@paromovevg Про zod знаю, спасибо - вещь хорошая. Но речь шла не о внезапных залетах, а об озвученном изменении api. Новые поля по-любому добавлять везде (и в компонентах, использующих данные, тоже). С удаленными та же история. А вот с измененными - как раз есть варианты. Вариант с копипастой можно будет попробовать.
Пікірлер: 5