Size: a a a

2020 October 30

AO

Aleksandr Osipov in ☄️ effector
mg901
У меня такое же. Сторы как монады Maybe. Эффекты как Either. Watch как монада IO.
Я максимум смог увидеть функтор в сторе
источник

AO

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

AO

Aleksandr Osipov in ☄️ effector
С утра в пятницу туплю
источник

AO

Aleksandr Osipov in ☄️ effector
Кстати подсветка сломалась от типов TS:)
источник

AO

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

V

Vetro in ☄️ effector
Vetro
effector-logger показывает что 31 юнит успешно обновил стор, там вот теперь свойство одно с числом 10500 все збс

а в компоненте когда дергаю как просто переменную стора, так и значение взятое из useStore SSR - показывает что в той проперти старые 2000
Что за дела такие?(
Причем watch тоже показывает новое правильное значение
источник

DS

Dmitriy Shuleshov in ☄️ effector
Иван
почему-то на интуитивном уровне я предполагал, что fx.prepend дожен вернуть новый эффект. я читал сигнатуру в доке, да. я знаю, что он возвращает Event
Аттач был создан сравнительно недавно, так как создание нового эффекта более сложная задача чем создание ивента
источник

DS

Dmitriy Shuleshov in ☄️ effector
Иван
почему-то на интуитивном уровне я предполагал, что fx.prepend дожен вернуть новый эффект. я читал сигнатуру в доке, да. я знаю, что он возвращает Event
источник

AO

Aleksandr Osipov in ☄️ effector
Aleksandr Osipov
Я максимум смог увидеть функтор в сторе
эффект это скорее Maybe<Either<E, A>>
источник

yv

yumaa verdin in ☄️ effector
Vetro
Почему при SSR и использовании effector-storage может подхватываться старое значение (из стораджа) при изменении стора?
о, мне как раз было интересно, кто-нить использует с ssr? мне кажется не должно работать, там же обращения к localStorage, которого на сервере нет?
источник

V

Vetro in ☄️ effector
yumaa verdin
о, мне как раз было интересно, кто-нить использует с ssr? мне кажется не должно работать, там же обращения к localStorage, которого на сервере нет?
Я для этого написал обвязку вот такую, но видимо в ней и проблема, из-за неконсистентности между сервером и клиентом

export const appDomain = createDomain('appDomain');
export const createStorageStore =
 typeof localStorage !== 'undefined'
   ? withStorage(appDomain.createStore, localStorage)
   : null;


export const $userInfoStore =
 createStorageStore !== null
   ? createStorageStore<UserInfo | null>(null, {
       key: 'user_info',
     })
   : appDomain.createStore<UserInfo | null>(null);
источник

AO

Aleksandr Osipov in ☄️ effector
Aleksandr Osipov
эффект это скорее Maybe<Either<E, A>>
но это не монада конечно же будет, просто напоминает внешне мб по сигнатуре
источник

DS

Dmitriy Shuleshov in ☄️ effector
Aleksandr Osipov
Даже стесняюсь спросить шо то будет🌚
источник

V

Vetro in ☄️ effector
Vetro
Я для этого написал обвязку вот такую, но видимо в ней и проблема, из-за неконсистентности между сервером и клиентом

export const appDomain = createDomain('appDomain');
export const createStorageStore =
 typeof localStorage !== 'undefined'
   ? withStorage(appDomain.createStore, localStorage)
   : null;


export const $userInfoStore =
 createStorageStore !== null
   ? createStorageStore<UserInfo | null>(null, {
       key: 'user_info',
     })
   : appDomain.createStore<UserInfo | null>(null);
Хм, не, дело вовсе не в этом
источник

AO

Aleksandr Osipov in ☄️ effector
Dmitriy Shuleshov
Даже стесняюсь спросить шо то будет🌚
Да ничего, просто делать было нечего с утра
источник

И

Иван in ☄️ effector
👌🏿
источник

V

Vetro in ☄️ effector
Даже без стораджа показывает дефолтное значение
источник

V

Vetro in ☄️ effector
Не могу понять почему
источник

yv

yumaa verdin in ☄️ effector
Vetro
Я для этого написал обвязку вот такую, но видимо в ней и проблема, из-за неконсистентности между сервером и клиентом

export const appDomain = createDomain('appDomain');
export const createStorageStore =
 typeof localStorage !== 'undefined'
   ? withStorage(appDomain.createStore, localStorage)
   : null;


export const $userInfoStore =
 createStorageStore !== null
   ? createStorageStore<UserInfo | null>(null, {
       key: 'user_info',
     })
   : appDomain.createStore<UserInfo | null>(null);
то есть на сервере стор создаётся с null → потом этот null где-то в window сохраняется → на клиенте восстанавливается — и не берёт значение из ls? так?
источник

V

Vetro in ☄️ effector
Да не, при создании как раз норм восстанавливается

Я сейчас смог зарепродюсить и без effector-storage

Логгер пишет что значение изменилось, все ивенты прикручены к компонентам через useEvent а сторы через useStore и домен запихнут в провайдер через форк
источник