Size: a a a

2020 July 15

TG

Timofey Goncharov in ☄️ effector
🦜
без doneData
а зачем тебе отказываться от doneData если это идеально подходящее место для ресета формы?
источник

🦜

🦜 in ☄️ effector
Timofey Goncharov
а зачем тебе отказываться от doneData если это идеально подходящее место для ресета формы?
задержки по сети
источник

TG

Timofey Goncharov in ☄️ effector
🦜
задержки по сети
ну если будет ошибка при отравке. то и не нужно ничего ресетить.
источник

TG

Timofey Goncharov in ☄️ effector
по идеи
источник

TG

Timofey Goncharov in ☄️ effector
или если сервер ответит ошибкой валидации инпута. тоже не надо ресетить
источник

TG

Timofey Goncharov in ☄️ effector
если успешно форму отправили тогда да. ресет.
источник

TG

Timofey Goncharov in ☄️ effector
ну в любом случае reset формы доступен когда угодно.
источник

TG

Timofey Goncharov in ☄️ effector
зависит уже от твоей реализации.
источник

🦜

🦜 in ☄️ effector
Timofey Goncharov
ну в любом случае reset формы доступен когда угодно.
ты уверен, что onSubmit возмет значения из стора прежде, чем он ресетнется?
источник

🦜

🦜 in ☄️ effector
const $values = createStore(initialValues).reset(fxSubmit)

onSubmit: fxSubmit
источник

🦜

🦜 in ☄️ effector
вот тебе кейс
источник

TG

Timofey Goncharov in ☄️ effector
🦜
const $values = createStore(initialValues).reset(fxSubmit)

onSubmit: fxSubmit
нужно затестить такой кейс. но в любом случае вряд ли это имеет смысл. как я писал выше, ресет нужен когда форма отправлена. если на то пошло. можешь сделать reset до того как произойдет запрос на сервер. то есть внутри fxSubmit
источник

TG

Timofey Goncharov in ☄️ effector
🦜
const $values = createStore(initialValues).reset(fxSubmit)

onSubmit: fxSubmit
если рассуждать логически то вот что происходит в таком случае:
fxSubmit это тоже самое что нажатие кнопки submit) и кто из них быстрее я не знаю)) такое я бы не стал писать. и думаю вряд ли кто-то станет.
источник

TG

Timofey Goncharov in ☄️ effector
это видимо тогда правильнее будет через sample сделать как-то грамтно, с четким пониманием кто первее выполняется.
источник

TG

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

🦜

🦜 in ☄️ effector
Timofey Goncharov
если рассуждать логически то вот что происходит в таком случае:
fxSubmit это тоже самое что нажатие кнопки submit) и кто из них быстрее я не знаю)) такое я бы не стал писать. и думаю вряд ли кто-то станет.
просто посмотри ишью на эту тему у formik, final-form reset on submit
источник

TG

Timofey Goncharov in ☄️ effector
🦜
просто посмотри ишью на эту тему у formik, final-form reset on submit
ну я вкурсе необходимости в reset формы после отправки.
и еще вкрусе необходимости проверять изменилось ли значение в уже заполненной форме (initial значениями).
и еще я вкурсе reset формы к initial значениям или наоборот к пустототе.
именно по этому я даю возможность поднять $values на уровне стейт менеджера и сделать именно то что нужно и именно тогда когда это нужно, не привязываясь к какому-то внутреннему таймлайну формы.
источник

П

Первый 🦄 Император... in ☄️ effector
Timofey Goncharov
если рассуждать логически то вот что происходит в таком случае:
fxSubmit это тоже самое что нажатие кнопки submit) и кто из них быстрее я не знаю)) такое я бы не стал писать. и думаю вряд ли кто-то станет.
всё же стоит дождаться завершения эффекта и потом ресетить
источник

TG

Timofey Goncharov in ☄️ effector
многие решения форм изолируют стейт и мешают сделать то что ты хочешь. здесь же наборот, $values дается тебе и ты как хочешь так и поступишь
источник

TG

Timofey Goncharov in ☄️ effector
вот более сколький вопрос, это вопрос валидации данных.
есть API useForm который сам берет на себя инициативу за валидацию и по этому $inlineErorrs уже computable и он предназначен для readonly.

но если хочется полностью контролировать флоу валидации то тогда надо юзать $outerErrorsInline. он уже позволит делать с ошибками что угодно и в случае необходимости миксовать это с нативным поведением валидации useForm
источник