ввода инпута react-redux, react, hook
не дёргать редакс на onChange. Состояние ввода хранить в локальном стейте, отправлять в редакс когда там эти данные нужны
О еще одна жертва присела на бутылку редакса)
на бутылку неправильного использования редакса
В redux хранится всё состояние контрола: ошибки, статус и т.д. Они должны быть видны всему приложению. Может как-то асинхронно можно вызывать туда dispatch?
Содержание инпутов там незачем хранить
Ну что поделать если все другие могут в состояние инпута а редакс не может, надо подорожник ему приложить, мб полегчает🌚
я очень симневаюсь, что есть реальная необходимость синхронно всё это видеть всему приложению. Если действительно нужен доступ к значению поля в других местах, то диспатчить изменения в редакс дебаунсом. Значение инпута при этом всё равно в локалный стейт надо.
Всё там хранится правильно. Если перенести во внутрнее состояние компонента, то будет ререндер компонентов, но уже с их стейтом. Надо как-то вызывать асинхронно, наверно
хранение текущего состояния инпутов в большом редаксе не работает — факт. Но никто не запрещает так не делать.
Ну, допустим, ты прав и надо будет состояние ввода хранить в локальном стейте. В какой момент и при каком условии обновлять состояние Redux? Просто делать задержку, например 150ms?
а где и как у тебя эти данные используются?
Эта многостраничная форма и в ней контролы, которые реагируют на состояние других контролов (т.е. они зависимы друг от друга)
конкретный пример можно?
Состояния контролов тоже в локальном стейте можно хранить
Представь лист бумаги (это будет страницей) и там 2 формы: контролы этих форм взаимозависимы
в общем случае дебаунс в 100-500ms поможет на самом деле. Дальше смотреть по потребностям.
Да, это я сейчас так и планируют сделать. Пытаюсь понять как это потом перенести в redux-стейт
Понял, попробую
да что значит взаимозависями? можно на уровнь абстракции ниже спуститься поговориь?-)) Я ввожу дату рождения у меня появляется гороскоп — вот, например, зависимость, синхронное отображение не нужно, можно 500ms поставить, а у тебя что?-)
Прочитай после 2 запятой
Ну ты тыкаешь кнопки в инпуте смс сообшения, оно отображаеться в риалтайме мгновенно сразу на трех демо превью девайсах мобильных телефонов, типо как оно будет выглядеть
Значит, когда ты вводишь гороскоп, то у тебя появляется промежуток этого гороскопа в календаре формы дня рождения у человека. Если вводишь ДР человека, то у тебя отображается гороскоп. И того у тебя 2 формы: для человека и для гороскопа и они взаимозависимы
свой пример я понимаю, спасибо, я говорю о том, что на onChange даты рождения синхронно обновлять гороскоп не нужно
Потом например есть мейн форма в которой есть какие то контакты, ты можешь их добавлять инлайново как инпут с тегами а можешь добавлять через другую форму которая выезжает в дроввере, там добавляешь номера/контакты и они сразу же апдейтяться в мейн форме
тоже абсолютно понятно, запихать в этом кейсе куда-то обновление редакса на ончендж — ошибка
И таких штук было дофига не говоря о том что сама форма еще имела сложности
ну сложнее всего пока был пример, где несколько превью должны были отображать текст, который вводишь. После удаления редакса превьюшки прямо синхронно обновлялись?
Мы переписали на мобх все все все и проблемы все исчезли, убрали тонну оптимизаций, мобх сам все разруливал красиво
превьюши синхронно обновлялись?
Да
А в mobx есть что-то аналогичное redux-saga? Последняя нравится очень.
Вот кажется как раз Максим говорил что они саги прикручивали туда)
При желании ты можешь добавить саги к мобх
Та я думал как то прикрутить и постик написать о бетом, но щас такие времена у меня как творческий кризис🌚
Обсуждают сегодня