на родительской форме делает setState, добавляя введенный символ или заменяя новое значение. Когда надо будет сабмитить и валидировать при сабмите, просто читаешь стейт формы где все введенные данные уже есть, не надо ничего в data-тэги писать. Т.е. все инпуты контролируются формой.
что до таблицы, да, неудобно. Можно сделать что-то вроде методов subscribe/notify, и в общем для таблицы и формы (блин, кто связывает таблицу и форму?! может это все-таки уже отдельный инпут и таблица?!) контейнере подписать таблицу на инпут. Или прокинуть refs и слушать изменения.
редакс удобно, но когда все разрастется, все равно придешь к тому что в сторе д.б. только данные (например для той же таблицы) и максимум еще глобальное состояние приложения. К которым не относится наполнение какой-то формы. К ним может относиться например факт самого заполнения формы юзером. Вполне себе состояние. Например чтобы в это время не отвлекать его сторонними действиями. Или наоборот, в это время ненавязчиво подсунуть с краю балун с акцией / скидкой
Я понимаю что так должно быть, но у меня вложенность компонентов 4-5 уровней от самой формы, это обусловлено сложностью самой формы (она динамическая, с добавлением строчек и блоков, изменяемые базовые значения которые должны быть по дефолту у создаваемых строчек. Я хранил значение поля и его валидность локально, возможно это было изначально неправильное решение. В data атрибутах я писал только isRequired, чтобы отфильтровать в компоненте формы
Обсуждают сегодня