Size: a a a

React — русскоговорящее сообщество

2020 July 02

DS

Dmitriy Shuleshov in React — русскоговорящее сообщество
Тебе не лень копипастить?
источник

DS

Dmitriy Shuleshov in React — русскоговорящее сообщество
Иван
всё верно. но придётся поизъёбываться с кодогенерацией
Почему ?
источник

Ratibor Игорь Матвию... in React — русскоговорящее сообщество
Dmitriy Shuleshov
Тебе не лень копипастить?
пока что я еще не умею по другому
источник

OR

Oleg Rizhkov in React — русскоговорящее сообщество
Иван
одна из реализаций. про подход можешь и сам нагуглить)
ну я это и спрашивал. контракты для меня ограничиваются переписыванием в типы то, что возвращает сервер.
источник

И

Иван in React — русскоговорящее сообщество
Александр Бакиматов
или графкл) там вроде из схем все выводится (я только слышал, не бейте)
у меня на второй работе был бог-архитектор, он c# и ts любил. запилил кодогенерацию типизированного http-клиента по аннтотациям своего c# кода. ух, сладенько было
источник

DS

Dmitriy Shuleshov in React — русскоговорящее сообщество
Ratibor Игорь Матвиюк
пока что я еще не умею по другому
Ну хоть хочется?
источник

Ratibor Игорь Матвию... in React — русскоговорящее сообщество
Dmitriy Shuleshov
Ну хоть хочется?
нет, но первые проекты для портфолио сделать надо
источник

АБ

Александр Бакиматов... in React — русскоговорящее сообщество
Иван
у меня на второй работе был бог-архитектор, он c# и ts любил. запилил кодогенерацию типизированного http-клиента по аннтотациям своего c# кода. ух, сладенько было
надеюсь он не был упоротым джавалайк оопшником?
источник

DS

Dmitriy Shuleshov in React — русскоговорящее сообщество
Ratibor Игорь Матвиюк
нет, но первые проекты для портфолио сделать надо
Главное код никому тогда не показывай
источник

АБ

Александр Бакиматов... in React — русскоговорящее сообщество
мой позапрошлый архитектор любил кложу, очень интересный тип))
источник

BB

Bugs Bunny in React — русскоговорящее сообщество
Oleg Rizhkov
ну я это и спрашивал. контракты для меня ограничиваются переписыванием в типы то, что возвращает сервер.
ну вообще не только. для получения чего-то конкретного из чего-то неопределенного. а так и гуглится - контрактное программирование.
в yup кстати тоже есть каст по схеме
источник

CG

Cat Gn in React — русскоговорящее сообщество
выделенная функция - асинхронный генератор действий.Кто-то говорил, что не компонентам не нужно знать о путях, и прочих деталях запросов.Так вот мне нужно получить в этой функции доступ к хранилищу и взять оттуда путь до запроса к серверу.Насколько я понимаю, store.getState().path - не вариант, как быть? Я использую redux-thunk , если это важно.
источник

Ratibor Игорь Матвию... in React — русскоговорящее сообщество
Dmitriy Shuleshov
Главное код никому тогда не показывай
))
источник

И

Иван in React — русскоговорящее сообщество
Oleg Rizhkov
ну я это и спрашивал. контракты для меня ограничиваются переписыванием в типы то, что возвращает сервер.
не, переписывание в типы — это псевдоконтракты. ты же никак не валидируешь, что приходит от бэка

контракты это как-то так:

type User = {…}

const scheme = makeUserScheme()

const get = (url: string): Promise<unknown> => …

const getFoo = (): Promise<User> => get(…).then(castTo(userScheme))
источник

OR

Oleg Rizhkov in React — русскоговорящее сообщество
Иван
не, переписывание в типы — это псевдоконтракты. ты же никак не валидируешь, что приходит от бэка

контракты это как-то так:

type User = {…}

const scheme = makeUserScheme()

const get = (url: string): Promise<unknown> => …

const getFoo = (): Promise<User> => get(…).then(castTo(userScheme))
спасибо!
источник

И

Иван in React — русскоговорящее сообщество
Cat Gn
выделенная функция - асинхронный генератор действий.Кто-то говорил, что не компонентам не нужно знать о путях, и прочих деталях запросов.Так вот мне нужно получить в этой функции доступ к хранилищу и взять оттуда путь до запроса к серверу.Насколько я понимаю, store.getState().path - не вариант, как быть? Я использую redux-thunk , если это важно.
открываешь документацию по санкам и читаешь
источник

CG

Cat Gn in React — русскоговорящее сообщество
Иван
открываешь документацию по санкам и читаешь
Благодарю!
источник

И

Иван in React — русскоговорящее сообщество
Oleg Rizhkov
спасибо!
castTo(useScheme) — это функция, которая либо выбросит ошибку, либо вернёт данные уже конкретного типа User. а внутри себя она будет по схеме эти данные валидировать, чтобы контракты были настоящие
источник

OR

Oleg Rizhkov in React — русскоговорящее сообщество
Иван
открываешь документацию по санкам и читаешь
ну getState в экшн крейторе вроде не ок, не? это вроде плохо, но не в курсе почему.
источник

BB

Bugs Bunny in React — русскоговорящее сообщество
в санках по херу
источник