Size: a a a

2020 August 19

DS

Dmitriy Shuleshov in ☄️ effector
Dmitriy Shuleshov
А многие тут вообще api слой на эффектор завязывают? В чем профит то?
источник

🦜

🦜 in ☄️ effector
Да
источник

AO

Aleksandr Osipov in ☄️ effector
Да
источник

AO

Aleksandr Osipov in ☄️ effector
я делаю, у меня все вызовы и авторизация черех эффектор
источник

AO

Aleksandr Osipov in ☄️ effector
мне удобно
источник

AO

Aleksandr Osipov in ☄️ effector
с авторизацией особенно
источник

DS

Dmitriy Shuleshov in ☄️ effector
Aleksandr Osipov
с авторизацией особенно
что б гардами права чекать чисто?
источник

AO

Aleksandr Osipov in ☄️ effector
Dmitriy Shuleshov
что б гардами права чекать чисто?
не, я про другое, про аутентификацию, не так выразился
источник

m

mg901 in ☄️ effector
парни, сори за оффтоп. Есть функция из сторонней библиотеки const foo = (a, b) => blabla. Как извлечь тип аргумента a ?
источник

AO

Aleksandr Osipov in ☄️ effector
infer гугли
источник

ВК

Владислав Козуля... in ☄️ effector
Aleksandr Osipov
я делаю, у меня все вызовы и авторизация черех эффектор
скинь пример, гляну
источник

m

mg901 in ☄️ effector
Владислав Козуля
скинь пример, гляну
+++
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
этот момент seo был для меня неочевидным) статью убрал, извиняюсь
источник

AO

Aleksandr Osipov in ☄️ effector
код не могу кинуть :/
опишу с аутентификацией как поступил
есть публичный интерфейс в виде событий login / logout / getSession, стора session и еще вспомогательного эффекта getHeaders

далее у меня несколько есть разных способов аутентификации: jwt с рефрешем, обычный токен в cookies и kerberos

логика для каждого из способов описана отдельно и далее связывается через gurad-ы c публичными методами, так например публичный метод login будет зафорваржен в jwt.login если стор с типом аутентификации равен 'jwt' и так далее
источник

ф

фильтруй мысли... in ☄️ effector
🦜
Сова, Андрей, Александр, Рафаэль
черепашки ниндзя?)
источник

AO

Aleksandr Osipov in ☄️ effector
собственно
const authType = createStore(process.env.REACT_APP_AUTH_TYPE)
и на далее что-то типа
guard({
 source: jwt.login,
 filter: authType.map(type => type === 'jwt'),
 target: login
})
источник

AO

Aleksandr Osipov in ☄️ effector
то есть связываются таким вот образом интерфейс публичный и реализация, такой вот DI как бы
источник

AO

Aleksandr Osipov in ☄️ effector
ну а на счет самих запросов, то есть просто корневой эффект от которого создаются все остальные, на корневом висит обработка глобальных ошибок (404, 5xx) + логика приводящая к logout-ту в случае 401, плюс .pending у корневого эффекта для запросов используется в качестве индикации активности в приложении
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
Владислав Козуля
скинь пример, гляну
источник

AO

Aleksandr Osipov in ☄️ effector
Aleksandr Osipov
то есть связываются таким вот образом интерфейс публичный и реализация, такой вот DI как бы
я кстати раньше горел желанием какое-то подобие DI контейнеров в эффекторе для таких целей, но оказалось после долгих мытарст, что можно просто соединять через guard-ты нужные части
источник