Size: a a a

2020 September 22

AA

Alexey Anarion in ☄️ effector
Да, хорошая идея. Я готовлю сейчас api reference полноценный, вместе с ним дока будет сильно переработана
источник

m

mg901 in ☄️ effector
@aanarion вам бы с @tehSLy сконтачиться. Цели у вас, вроде бы, совпадают.
источник

DS

Dmitriy Shuleshov in ☄️ effector
mg901
@aanarion вам бы с @tehSLy сконтачиться. Цели у вас, вроде бы, совпадают.
методы - нет
источник

AA

Alexey Anarion in ☄️ effector
Dmitriy Shuleshov
методы - нет
Ага, подход сильно разный
источник

m

mg901 in ☄️ effector
@aanarion для не шибко умных необходим пример с localStorage
источник

AA

Alexey Anarion in ☄️ effector
mg901
@aanarion для не шибко умных необходим пример с localStorage
Оке, я подумаю над этим сегодня. Пока реализован ключевой концепт который обсуждался - передача юнитов извне который гипотетически позволяет разделить управление сторами с другими либами, в т.ч. с effector-storage. Насколько бесшовно пока не знаю, возможно нужно будет еще какого нибудь сахара закинуть
источник

AA

Alexey Anarion in ☄️ effector
или даже не сахара
источник

G

GG in ☄️ effector
как обработать универсально 401 ошибку от всех еффектов, и есть ли в этом смысл? кто нибудь уже делал так? 🤔
источник

AO

Aleksandr Osipov in ☄️ effector
GG
как обработать универсально 401 ошибку от всех еффектов, и есть ли в этом смысл? кто нибудь уже делал так? 🤔
Есть, у меня все эффекты от корневого идут
источник

G

GG in ☄️ effector
Aleksandr Osipov
Есть, у меня все эффекты от корневого идут
Можешь скинуть реализацию?
источник

AO

Aleksandr Osipov in ☄️ effector
А на корневом обрабатываем общие ошибки что в показать нотификации например про ошибке сети или 500ках с сервера, ну и реагируем на 401 - делаем логаут и редирект на страницу логина
источник

G

GG in ☄️ effector
Aleksandr Osipov
А на корневом обрабатываем общие ошибки что в показать нотификации например про ошибке сети или 500ках с сервера, ну и реагируем на 401 - делаем логаут и редирект на страницу логина
а  стор с ошибкой у тебя один?
источник

AO

Aleksandr Osipov in ☄️ effector
GG
Можешь скинуть реализацию?
Я не за компом, но там никакой магии, просто корневой эффект const request = createEffect
источник

AO

Aleksandr Osipov in ☄️ effector
И остальные через attach от него (ну либо просто императивно вызывать request в теле
источник

AO

Aleksandr Osipov in ☄️ effector
GG
а  стор с ошибкой у тебя один?
Нет стора
источник

AO

Aleksandr Osipov in ☄️ effector
Не храню глобальные ошибки
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
GG
как обработать универсально 401 ошибку от всех еффектов, и есть ли в этом смысл? кто нибудь уже делал так? 🤔
можно создать эффект request, который будет заниматься вызовом fetch, а все необходимые эффекты создать от него через attach, тогда достаточно будет обработать один failData

const request = createEffect(async ({url, method}) => {
 const req = await fetch(url, {method})
 if (!req.ok) throw Error(req.status)
 return req.json()
})

const error401 = guard(request.failData, {
 filter: err => err.message == '401'
})

const getUsers = attach({
 effect: request,
 mapParams: () => ({url: '/users', method: 'POST'})
})
источник

AO

Aleksandr Osipov in ☄️ effector
Aleksandr Osipov
Не храню глобальные ошибки
Типа 401 50х - просто реагирую на них
источник

G

GG in ☄️ effector
🚀🔬 🚀🔬🚀🔬
можно создать эффект request, который будет заниматься вызовом fetch, а все необходимые эффекты создать от него через attach, тогда достаточно будет обработать один failData

const request = createEffect(async ({url, method}) => {
 const req = await fetch(url, {method})
 if (!req.ok) throw Error(req.status)
 return req.json()
})

const error401 = guard(request.failData, {
 filter: err => err.message == '401'
})

const getUsers = attach({
 effect: request,
 mapParams: () => ({url: '/users', method: 'POST'})
})
понял. спс. Раньше эту тему тут уже  обсуждали?
источник

G

GG in ☄️ effector
думаю да
источник