Size: a a a

2020 August 12

fe

from earth in ☄️ effector
я вот тут комментами чуть-чуть пояснил https://share.effector.dev/qogoSZAi
источник

DS

Dmitriy Shuleshov in ☄️ effector
from earth
норм, но опять не совсем корректно
у тебя по сути написано "если открыт диалог и пришёл адрес, то отправить на шаг 2"
Но диалог может быть открыт по другой причине да и на другом шаге

Может понятнее будет такой пример
Есть страница логина. Обычно когда пользователь вводит логин/пароль, то его направляют на главную страницу

Но если незалогиненный пользователь зашёл, скажем, на страницу поста, и попробовал отправить сообщение автору — его направили на страницу логина, но с query параметрами ?next=/author/id/message.
То есть пользователь попадёт на ту же самую обычную форму логина, но когда введёт логин/пароль, его направят не на главную, а на страницу переписки с другим пользователем, т.к. он туда и направлялся

Вот и тут — важно в каком контексте модалочка открыта. Если при попытке перейти на next, то да, надо направиьт в итоге на след. шаг. Но если по другой причине, то не надо)
Все что нужно сделать это расширить api для модалки, стором типа $openReason
источник

fe

from earth in ☄️ effector
Dmitriy Shuleshov
Все что нужно сделать это расширить api для модалки, стором типа $openReason
мм но тогда логика переносится в модалку из кода с эффектором
источник

fe

from earth in ☄️ effector
но вообще мысль неплохая, ща обдумаю
источник

DS

Dmitriy Shuleshov in ☄️ effector
from earth
норм, но опять не совсем корректно
у тебя по сути написано "если открыт диалог и пришёл адрес, то отправить на шаг 2"
Но диалог может быть открыт по другой причине да и на другом шаге

Может понятнее будет такой пример
Есть страница логина. Обычно когда пользователь вводит логин/пароль, то его направляют на главную страницу

Но если незалогиненный пользователь зашёл, скажем, на страницу поста, и попробовал отправить сообщение автору — его направили на страницу логина, но с query параметрами ?next=/author/id/message.
То есть пользователь попадёт на ту же самую обычную форму логина, но когда введёт логин/пароль, его направят не на главную, а на страницу переписки с другим пользователем, т.к. он туда и направлялся

Вот и тут — важно в каком контексте модалочка открыта. Если при попытке перейти на next, то да, надо направиьт в итоге на след. шаг. Но если по другой причине, то не надо)
https://share.effector.dev/4BEZhYj8
Это расширяемый вариант, но конкретный кейс можно решить проще, вот так
https://share.effector.dev/MERutEF0
источник

DS

Dmitriy Shuleshov in ☄️ effector
Dmitriy Shuleshov
https://share.effector.dev/4BEZhYj8
Это расширяемый вариант, но конкретный кейс можно решить проще, вот так
https://share.effector.dev/MERutEF0
Еще наверное будет полезно при закрытии модалки сбрасывать в null $openReason
источник

DS

Dmitriy Shuleshov in ☄️ effector
Дочитал до снипета с реактом и чуть не проблевался
источник

NM

Nikolay 🧢🖥️ Morozov... in ☄️ effector
привет, в compat  версии же не должно быть es6+? effector-react

в effector-react@20.7.2 и
effector-react@20.7.1 такое
источник

ф

фильтруй мысли... in ☄️ effector
о, докладик намечается
https://react-finland.fi/blog/rf-2020-online-mini-conf-vol-2
источник

🦜

🦜 in ☄️ effector
Ян зарегался
источник

YL

Yan👀 Lobaty in ☄️ effector
ага надо текст переводить уже🌚
источник

fe

from earth in ☄️ effector
А у сторов/слушателей и т.п. есть какие-то методы типа destroy?

т.е. что если я хочу обернуть их создание в функцию
Условно так — 

export function createSomeState() {
 const store = createStore(null);
 const event = createEvent();
 store.on(event, () => { /* some logic */ });
 return {
   store,
   event,
   onDestroy: () => {
     /* ??? */
   }
 }
}
источник

VK

Vladislav K. in ☄️ effector
А есть какой-нибудь способ дергать аполло в эффекте?
источник

fe

from earth in ☄️ effector
from earth
А у сторов/слушателей и т.п. есть какие-то методы типа destroy?

т.е. что если я хочу обернуть их создание в функцию
Условно так — 

export function createSomeState() {
 const store = createStore(null);
 const event = createEvent();
 store.on(event, () => { /* some logic */ });
 return {
   store,
   event,
   onDestroy: () => {
     /* ??? */
   }
 }
}
хотя может оно и не нужно, просто gc собёрет всё когда референсы пропадут
источник

A

Andrey in ☄️ effector
from earth
А у сторов/слушателей и т.п. есть какие-то методы типа destroy?

т.е. что если я хочу обернуть их создание в функцию
Условно так — 

export function createSomeState() {
 const store = createStore(null);
 const event = createEvent();
 store.on(event, () => { /* some logic */ });
 return {
   store,
   event,
   onDestroy: () => {
     /* ??? */
   }
 }
}
clearNode, в корне экспортируется
источник

ф

фильтруй мысли... in ☄️ effector
from earth
А у сторов/слушателей и т.п. есть какие-то методы типа destroy?

т.е. что если я хочу обернуть их создание в функцию
Условно так — 

export function createSomeState() {
 const store = createStore(null);
 const event = createEvent();
 store.on(event, () => { /* some logic */ });
 return {
   store,
   event,
   onDestroy: () => {
     /* ??? */
   }
 }
}
в доке есть, но это для библиотек скорее
источник

A

Andrey in ☄️ effector
from earth
А у сторов/слушателей и т.п. есть какие-то методы типа destroy?

т.е. что если я хочу обернуть их создание в функцию
Условно так — 

export function createSomeState() {
 const store = createStore(null);
 const event = createEvent();
 store.on(event, () => { /* some logic */ });
 return {
   store,
   event,
   onDestroy: () => {
     /* ??? */
   }
 }
}
в данном случае, можно создать домен
от него все локальные юниты

а дестройнуть через clearNode(domain, {deep: true})
источник

ф

фильтруй мысли... in ☄️ effector
from earth
хотя может оно и не нужно, просто gc собёрет всё когда референсы пропадут
ты можешь бизнес логику статически описать, не оборачивая в функции
источник

fe

from earth in ☄️ effector
фильтруй мысли
ты можешь бизнес логику статически описать, не оборачивая в функции
и как это переиспользовать потом)
источник

fe

from earth in ☄️ effector
Andrey
clearNode, в корне экспортируется
тааак, спс...
источник