Size: a a a

2020 June 25

c⁣

createStore<🦉>... in ☄️ effector
Rafael 🦠
у тебя acl сделана не на примитивах эффектора?
но у меня не acl
источник

c⁣

createStore<🦉>... in ☄️ effector
Rafael 🦠
но функция can это не эффект?
нет)
это статическая связка к стору
источник

c⁣

createStore<🦉>... in ☄️ effector
я при старте приложения прогружаю данные пользователя
источник

c⁣

createStore<🦉>... in ☄️ effector
сложно только работать с штуками вроде организаций
источник

c⁣

createStore<🦉>... in ☄️ effector
createStore<🦉> ⁣
нет)
это статическая связка к стору
const can = ({ source, action, on, target = createEvent() }) => {
 const triggered = sample({
   source: is.unit(on) ? on : createStore(on),
   clock: source,
   fn: (source, clock) => ({ source, clock })
 })

 const allowed = guard({
   source: combine([triggered, $rights]),
   filter: ([triggered, rights]) => rights[triggered.source.type][action],
 })

 forward({
   from: allowed.map(([{ clock }]) => clock),
   to: target,
 })

 return target
}
источник

R

Rafael 🦠 in ☄️ effector
createStore<🦉> ⁣
const can = ({ source, action, on, target = createEvent() }) => {
 const triggered = sample({
   source: is.unit(on) ? on : createStore(on),
   clock: source,
   fn: (source, clock) => ({ source, clock })
 })

 const allowed = guard({
   source: combine([triggered, $rights]),
   filter: ([triggered, rights]) => rights[triggered.source.type][action],
 })

 forward({
   from: allowed.map(([{ clock }]) => clock),
   to: target,
 })

 return target
}
ага, понятненько
источник

D

Danila in ☄️ effector
Привет! Как правильно запускать синхронные эффекты (запись в локалсторадж, работа с адресной строкой итд)? Делать обычный эффект и возвращать промис?
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
Danila
Привет! Как правильно запускать синхронные эффекты (запись в локалсторадж, работа с адресной строкой итд)? Делать обычный эффект и возвращать промис?
эффектор поддерживает синхронность в эффектах без дополнительных действий, если нужна синхронная функция — делай синхронную, это нормально)
источник

D

Danila in ☄️ effector
🚀🔬 🚀🔬🚀🔬
эффектор поддерживает синхронность в эффектах без дополнительных действий, если нужна синхронная функция — делай синхронную, это нормально)
Просто .use(syncFunction)  и всё?
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
ага
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
const syncFX = createEffect({
 handler: () => 'ok'
})
источник

D

Danila in ☄️ effector
Спасибо!
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
Danila
Спасибо!
только сам вызов эффекта всегда будет возвращать промис для консистентности, но синхронный handler останется синхронным
источник

D

Danila in ☄️ effector
🚀🔬 🚀🔬🚀🔬
только сам вызов эффекта всегда будет возвращать промис для консистентности, но синхронный handler останется синхронным
Значит, и .done тоже сработает?
источник

D

Danila in ☄️ effector
А, чё я, сейчас сам попробую, спасибо!
источник

D

Danila in ☄️ effector
У меня есть "параметры поиска", которые приходят в приложение в роуте через гет-параметры. Так же параметры хранятся в сторе и оттуда берутся для, например, эффектов запросов.

Параметры можно менять из вьюшек

Как правильно поступить: из вьюшек менять в УРЛе и при перерендере перезаполнять стор
или
Работать только со стором, а он пускай сайдэффектит в урл, а из урла заполнять только при первом рендере
источник

D

Danila in ☄️ effector
Почему-то мне больше нравится второй, но я нуб
источник

D

Danila in ☄️ effector
Если второй - то логика вот этого коннекта к урлу - её нормально ли хранить прямо рядом с моделями и стором, или это зона функций роутера?
источник

D

Danila in ☄️ effector
Сам эффект, в частности, положить в /routing/ или в /model/?
источник

DS

Dmitriy Shuleshov in ☄️ effector
Danila
У меня есть "параметры поиска", которые приходят в приложение в роуте через гет-параметры. Так же параметры хранятся в сторе и оттуда берутся для, например, эффектов запросов.

Параметры можно менять из вьюшек

Как правильно поступить: из вьюшек менять в УРЛе и при перерендере перезаполнять стор
или
Работать только со стором, а он пускай сайдэффектит в урл, а из урла заполнять только при первом рендере
Роутер есть?🌚
источник