Size: a a a

2020 November 18

DS

Dmitriy Shuleshov in ☄️ effector
makoven
Не знаю) Наверное и правда ни к чему.
А "бизнес логика", как ты считаешь, относится в файлу pills или к файлу app? Просто есть логика, которую можно описать локально, а есть такая, что задействует сущности из разных файлов. И если писать часть локально, часть в app, как-то оно всё размазывается и запутывается..
Чесно говоря именно я еще толком не определился с этим моментом(

На этот счет есть разные мнения у сообщества
источник

DS

Dmitriy Shuleshov in ☄️ effector
Dmitriy Shuleshov
Чесно говоря именно я еще толком не определился с этим моментом(

На этот счет есть разные мнения у сообщества
Я склоняюсь к тому что скорее всего все индивидуально от проекта к проекту
источник

B

Bogdan in ☄️ effector
makoven
Не знаю) Наверное и правда ни к чему.
А "бизнес логика", как ты считаешь, относится в файлу pills или к файлу app? Просто есть логика, которую можно описать локально, а есть такая, что задействует сущности из разных файлов. И если писать часть локально, часть в app, как-то оно всё размазывается и запутывается..
Было бы удобно видеть от чего меняется сущность в одном месте
источник

m

makoven in ☄️ effector
Dmitriy Shuleshov
Чесно говоря именно я еще толком не определился с этим моментом(

На этот счет есть разные мнения у сообщества
Ну блин. Придется самому думать) Но и на том спасибо
источник

m

makoven in ☄️ effector
Bogdan
Было бы удобно видеть от чего меняется сущность в одном месте
Тоже пока склоняюсь к этому варианту
источник

B

Bogdan in ☄️ effector
makoven
Тоже пока склоняюсь к этому варианту
С init файлами так и получается
источник

m

makoven in ☄️ effector
Bogdan
С init файлами так и получается
Если в сножественном числе, тогда встает вопрос по какому критерию распиливать логику для каждого ini-файла
источник

YL

Yan👀 Lobaty in ☄️ effector
makoven
Если в сножественном числе, тогда встает вопрос по какому критерию распиливать логику для каждого ini-файла
внезапно по зоне ответственности)
источник

m

makoven in ☄️ effector
Yan👀 Lobaty
внезапно по зоне ответственности)
Звучит красиво. Но есть логика, дергающая юниты из разных "зон ответственности".. )
источник

V

Vetro in ☄️ effector
const goLogin = split(
 sample<UserInfo | null>({
   source: $userInfoStore,
   clock: goLoginEvent,
 }),
 {
   loggedIn: (payload) => payload !== null,
   loggedOut: (payload) => payload === null,
 }
);

forward({
 from: goLogin.loggedIn,
 to: pushRouterFx.prepend(() => '/lk'),
});

forward({
 from: goLogin.loggedOut,
 to: pushRouterFx.prepend(() => '/'),
});


Можно ли как-то покрасивее сделать?

split({
 source: sample<UserInfo | null>({
   source: $userInfoStore,
   clock: goLoginEvent,
 }),
 match: {
   loggedIn: (payload) => payload !== null,
   loggedOut: (payload) => payload === null,
 },
 cases: {
   loggedIn: pushRouterFx.prepend(() => '/lk'),
   loggedOut: pushRouterFx.prepend(() => '/'),
 },
});


такой вариант ругается на
Type 'Event<unknown>' is not assignable to type 'Unit<UserInfo | null>'.
источник

DS

Dmitriy Shuleshov in ☄️ effector
Vetro
const goLogin = split(
 sample<UserInfo | null>({
   source: $userInfoStore,
   clock: goLoginEvent,
 }),
 {
   loggedIn: (payload) => payload !== null,
   loggedOut: (payload) => payload === null,
 }
);

forward({
 from: goLogin.loggedIn,
 to: pushRouterFx.prepend(() => '/lk'),
});

forward({
 from: goLogin.loggedOut,
 to: pushRouterFx.prepend(() => '/'),
});


Можно ли как-то покрасивее сделать?

split({
 source: sample<UserInfo | null>({
   source: $userInfoStore,
   clock: goLoginEvent,
 }),
 match: {
   loggedIn: (payload) => payload !== null,
   loggedOut: (payload) => payload === null,
 },
 cases: {
   loggedIn: pushRouterFx.prepend(() => '/lk'),
   loggedOut: pushRouterFx.prepend(() => '/'),
 },
});


такой вариант ругается на
Type 'Event<unknown>' is not assignable to type 'Unit<UserInfo | null>'.
второй вариант попробуй вынеси семпл отдельно
источник

YL

Yan👀 Lobaty in ☄️ effector
makoven
Звучит красиво. Но есть логика, дергающая юниты из разных "зон ответственности".. )
там откуда событие/стор, запустившее весь замес
источник

YL

Yan👀 Lobaty in ☄️ effector
типа например поле clock в sample из какой зоны? там и писать этот сэмпл
источник

YL

Yan👀 Lobaty in ☄️ effector
или сорс у гарда
или фром у форварда
источник

V

Vetro in ☄️ effector
Dmitriy Shuleshov
второй вариант попробуй вынеси семпл отдельно
То же самое
источник

DS

Dmitriy Shuleshov in ☄️ effector
Vetro
То же самое
Стоп, что ты ожидаешь возвращает семпл?
источник

V

Vetro in ☄️ effector
Dmitriy Shuleshov
Стоп, что ты ожидаешь возвращает семпл?
Мне нужно по вызову события - чекнуть значение стора, но потом мне этот стор не нужен вообще
источник

DS

Dmitriy Shuleshov in ☄️ effector
Vetro
Мне нужно по вызову события - чекнуть значение стора, но потом мне этот стор не нужен вообще
А можешь в репл TS закинуть?
источник

V

Vetro in ☄️ effector
ага, сек
источник

V

Vetro in ☄️ effector
Dmitriy Shuleshov
А можешь в репл TS закинуть?
источник