Size: a a a

2020 October 29

R

Rafael 🦠 in ☄️ effector
Александр Шелист
А как жить с эффектором, если надо все динамическое?
Не использовать эффектор 🤷‍♂️ значит он вам просто не подходит под нужны, возьми rxjs
источник

DS

Dmitriy Shuleshov in ☄️ effector
Dmitriy Shuleshov
Решение вцелом.
Нужно каждый ивент внутри фабрики снабдить контекстными данными, а конкретно айдишником инстанса.

Все данные хранить в глобальном сторе, там же хранить айдишник для каждого фабричного скоупа.

Айдишник к фабричному скоупу нести через вью слой.
Понял что написал непонятно, пример кода незнаю когда смогу  дать...
источник

Egor Гуща in ☄️ effector
Александр Шелист
А как жить с эффектором, если надо все динамическое?
источник

АШ

Александр Шелист... in ☄️ effector
Dmitriy Shuleshov
Понял что написал непонятно, пример кода незнаю когда смогу  дать...
я в целом идею понял.
Но в таком случае теряется читабильность..
источник

R

Rafael 🦠 in ☄️ effector
Rafael 🦠
Не использовать эффектор 🤷‍♂️ значит он вам просто не подходит под нужны, возьми rxjs
у любой технологии есть границы применимости - та область где она хороша
источник

DS

Dmitriy Shuleshov in ☄️ effector
Александр Шелист
я в целом идею понял.
Но в таком случае теряется читабильность..
источник

OR

Oleg Rizhkov in ☄️ effector
session/model.ts

export const createSession = createEffect<{ email: string; password: string }, unknown>()

createSession.use(({ email, password }) => {
...

model.ts

sample({
 clock: formSubmitted,
 source: $form,
 target: createSession,
})

export const $isSubmitDisabled = createSession.pending

почему isSubmitDisabled всегда false?
источник

SK

Sergei Kurishov in ☄️ effector
Oleg Rizhkov
session/model.ts

export const createSession = createEffect<{ email: string; password: string }, unknown>()

createSession.use(({ email, password }) => {
...

model.ts

sample({
 clock: formSubmitted,
 source: $form,
 target: createSession,
})

export const $isSubmitDisabled = createSession.pending

почему isSubmitDisabled всегда false?
из use возвращаешь промис?
источник

OR

Oleg Rizhkov in ☄️ effector
Sergei Kurishov
из use возвращаешь промис?
а... нет.
источник

OR

Oleg Rizhkov in ☄️ effector
Sergei Kurishov
из use возвращаешь промис?
спасибо 😅
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
Александр Шелист
Попробую пример кода показать, может лучше обьясню

$recordsList
 .on(addRecord, (records) => [...records, createRecordModel()])

Вот createRecordModel это функция которая возвращает по факту одну форму. У нее в return есть стор $formValid
всё то же самое просто createRecord возвращает не стор а данные

для редактирования используется id конкретной сущности в общем списке
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
Александр Шелист
я немного утрировал.

У меня форма состоящая из форм. У каждой формы есть свои поля. Их много. Правила валидации. И в большую форму мы можем добавлять маленькие формы динамически
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
ещё есть пример с редактированием дерева: https://share.effector.dev/0HBWU7IV
источник

🦜

🦜 in ☄️ effector
Перенес статью про тестирование из патреона в блог на сайте

https://effector.dev/blog/testing-api-calls-with-effects-and-stores
источник

OR

Oleg Rizhkov in ☄️ effector
напомните, пожалуйста, как это красивее записать? forward?
источник

V

Vetro in ☄️ effector
Oleg Rizhkov
напомните, пожалуйста, как это красивее записать? forward?
+
источник

NN

Nikita N. in ☄️ effector
yourStore.on(registerUser.doneData, () => {})
источник

OR

Oleg Rizhkov in ☄️ effector
Vetro
+
хм...
источник

OR

Oleg Rizhkov in ☄️ effector
Nikita N.
yourStore.on(registerUser.doneData, () => {})
там не стор
источник

NN

Nikita N. in ☄️ effector
ну выглядит так что можно пропустить этам с createSession и сразу засетить в стор данные
источник