Size: a a a

2021 March 05

NE

Nikita Epshteyn in ☄️ effector
Альтернативный вариант - писать свой движок формы, либо все-все делать руками, я не против, но интересно, насколько неправильно делать так, как выше описано)
источник

🅅🄺

🅅aleriy 🄺obzar in ☄️ effector
Nikita Epshteyn
Альтернативный вариант - писать свой движок формы, либо все-все делать руками, я не против, но интересно, насколько неправильно делать так, как выше описано)
хочешь уже готовое решение для этого посмотри в сторону jsonforms там уже есть для реакта все что нужно
источник

🅅🄺

🅅aleriy 🄺obzar in ☄️ effector
можешь jsonforms с эффектором объединить и будет ваще норм
источник

🅅🄺

🅅aleriy 🄺obzar in ☄️ effector
там твой кейс с выбором субформы в зависимости от ранее выбранного значения есть прямо в примерах
источник

NE

Nikita Epshteyn in ☄️ effector
посмотрю, пасиба
источник

NE

Nikita Epshteyn in ☄️ effector
и все же, я надеюсь на коммент по поводу варианта с форком
источник

🅅🄺

🅅aleriy 🄺obzar in ☄️ effector
Nikita Epshteyn
и все же, я надеюсь на коммент по поводу варианта с форком
а что ты под форком подразумеваешь тут?
источник

🅅🄺

🅅aleriy 🄺obzar in ☄️ effector
ты домены юзаешь?
источник

🅅🄺

🅅aleriy 🄺obzar in ☄️ effector
не могу понять зачем форкать логику?
источник

🅅🄺

🅅aleriy 🄺obzar in ☄️ effector
у тебя просто массив однотипных элементов
источник

🅅🄺

🅅aleriy 🄺obzar in ☄️ effector
сколько у тебя схем данных для элементов??
источник

🅅🄺

🅅aleriy 🄺obzar in ☄️ effector
есть ли у них общие поля для всех элементов?
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
Nikita Epshteyn
Привет. Есть некий конструктор работающий вот так:
- Нужно создать список сущностей
- Создать можно неограниченное количество
- Чтобы добавить - нажимается кнопка “Добавить”, далее я выбираю тип сущности и от этого зависит форма, которая вылезет в ответ

Вроде достаточно тривиальный кейс)

Вопрос - насколько в правильную сторону я иду если хочу создать по форме через effector-forms на каждую сущность и далее при добавлении форм/выбирании типа формы - форкать нужную?) При смене типа формы - fork + clearNode предыдущего скоупа
динамические формы можно делать без форка https://share.effector.dev/kOWvKMLn
источник

NE

Nikita Epshteyn in ☄️ effector

const domainA = createDomain(‘formTypeA’)
const formTypeA = createForm(config)

const domainB = createDomain(‘formTypeB’)
const formTypeB = createForm(config)

const typeToModel = {
   typeA: domainA,
   typeB: domainA,
}

const create = createEvent()
const choose = createEvent<{id: string, type: typeA | typeB}>()

const clearFx = createEffect((scope: Maybe<Scope>) => fold(scope, noop, clearNode))

const forms = createStore<Map</*id*/string, Maybe<Scope>>>(Map())
   .on(create, map => map.set(uuid(), None))
   .on(choose, (map, {id, type}) => map.set(id, fork(typeToModel[type])))

sample({
   source: forms,
   clock: choose,
   fn => ($forms, {id}) => $forms.get(id, None),
   target: clearFx,
})



Не ручаюсь за правильность, но идея такая
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
Nikita Epshteyn

const domainA = createDomain(‘formTypeA’)
const formTypeA = createForm(config)

const domainB = createDomain(‘formTypeB’)
const formTypeB = createForm(config)

const typeToModel = {
   typeA: domainA,
   typeB: domainA,
}

const create = createEvent()
const choose = createEvent<{id: string, type: typeA | typeB}>()

const clearFx = createEffect((scope: Maybe<Scope>) => fold(scope, noop, clearNode))

const forms = createStore<Map</*id*/string, Maybe<Scope>>>(Map())
   .on(create, map => map.set(uuid(), None))
   .on(choose, (map, {id, type}) => map.set(id, fork(typeToModel[type])))

sample({
   source: forms,
   clock: choose,
   fn => ($forms, {id}) => $forms.get(id, None),
   target: clearFx,
})



Не ручаюсь за правильность, но идея такая
во, да, примерно так) пример выше работает на той же идее
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
но без форка)
источник

NE

Nikita Epshteyn in ☄️ effector
у меня прост почти каждая форма - законченная, с кучей своей сайдэффектной логики (превью всякие показывать на основе данных из других сторов) и вот прям просились форки, потому что формы не по полям собираются
источник

NE

Nikita Epshteyn in ☄️ effector
🚀🔬 🚀🔬🚀🔬
во, да, примерно так) пример выше работает на той же идее
попробую над этим подумать, пасиба)
источник

🅅🄺

🅅aleriy 🄺obzar in ☄️ effector
Nikita Epshteyn
у меня прост почти каждая форма - законченная, с кучей своей сайдэффектной логики (превью всякие показывать на основе данных из других сторов) и вот прям просились форки, потому что формы не по полям собираются
звучит довольно странно... т.е. ты в одной таблице показываешь кучу разнородных элементов, которые тут же можно редактировать
источник

🅅🄺

🅅aleriy 🄺obzar in ☄️ effector
эти элементы не похожи практически друг на друга
источник