Size: a a a

2020 March 28

VK

Valeriy Kobzar in ☄️ effector
что await внутри map можно юзать, передав асинхронную функцию мапу
источник

🦉⁣

🦉 ⁣ in ☄️ effector
Valeriy Kobzar
ну и весь смысл саг для эффектора сводится к ожиданию эвентов в разных позах
доставать значения сторов не получится в любом случае
хочешь достать значение стора, сделай сэмпл снаружи, перенаправь значение в эвент и жди в сагах
если захотеть, получится
источник

yv

yumaa verdin in ☄️ effector
Valeriy Kobzar
что await внутри map можно юзать, передав асинхронную функцию мапу
всё равно ничего не понял
https://share.effector.dev/MlQX5Hdu
источник

🦉⁣

🦉 ⁣ in ☄️ effector
Valeriy Kobzar
собираешь промисы в кучу через map, и скармливаешь их Promise.all
можно точно также собрать генератор из map

и запустить yield*
источник

🦜

🦜 in ☄️ effector
Arthur Saenz
Вот как раз вчера делал такую штуку прям внутри компонента, плюс с искусственной задержкой:



 const [isLoadingFx, setStateFx] = React.useState(false)
 const [isLoadingDelay, setStateDelay] = React.useState(false)

 React.useEffect(() => {
   const unsubscribeStart = effectFx.watch(payload => {
     if (payload.id === id) {
       setStateFx(true)
       setStateDelay(true)
       setTimeout(() => {
         setStateDelay(false)
       }, 300)
     }
   })

   const unsubscribeEnd = effectFx.finally.watch(payload => {
     if (payload.params.id === id) {
       setStateFx(false)
     }
   })

   return () => {
     unsubscribeStart()
     unsubscribeEnd()
   }
 }, [id])

const isLoading = isLoadingDelay || isLoadingFx
Зачем это все в компоненте?
источник

AS

Arthur Saenz in ☄️ effector
🦜
Зачем это все в компоненте?
Согласен, но я не хотел выносить это в модель
источник

🦜

🦜 in ☄️ effector
Arthur Saenz
Согласен, но я не хотел выносить это в модель
Лучше вынести
источник

🦜

🦜 in ☄️ effector
Много лишнего кода во вью
источник

AS

Arthur Saenz in ☄️ effector
🦜
Лучше вынести
По факту если создать стор а котором по id ты будешь добавлять и удалять лоадинг кода получиться больше.
источник

🦜

🦜 in ☄️ effector
Arthur Saenz
По факту если создать стор а котором по id ты будешь добавлять и удалять лоадинг кода получиться больше.
Вряд-ли. Не надо боятся кода. Лучше, чтобы он был консистентный
источник

🦉⁣

🦉 ⁣ in ☄️ effector
лучше больше но гибкого кода, чем меньше, но нерасширяемого
источник

l

lllla in ☄️ effector
@sovasergey спасибо за рецепт с аттач) я его, наконец-то, понял)))
источник

🦉⁣

🦉 ⁣ in ☄️ effector
lllla
@sovasergey спасибо за рецепт с аттач) я его, наконец-то, понял)))
о, я рад, что зашло
источник

l

lllla in ☄️ effector
Просто восхитительно )
источник

l

lllla in ☄️ effector
Конечно, TS гонит малость со своим as const
источник

l

lllla in ☄️ effector
Расстраивает
источник

🦉⁣

🦉 ⁣ in ☄️ effector
lllla
Конечно, TS гонит малость со своим as const
хз, я не юзаю его нигде
источник

l

lllla in ☄️ effector
throw new AccessRestrictedError('authorization token required') — это кастомный класс?
     throw new NetworkError(await response.json())
источник

🦉⁣

🦉 ⁣ in ☄️ effector
lllla
throw new AccessRestrictedError('authorization token required') — это кастомный класс?
     throw new NetworkError(await response.json())
да, кастомный
источник

🦉⁣

🦉 ⁣ in ☄️ effector
ошибки сети и прочие, должны быть завернуты в свои классы, чтобы корректно их обрабатывать и конвертировать на других уровнях
источник