
Denis
12.03.2017
11:42:12
У меня компоненты от материал юи
Да
Самому
Если нужно

Google

ainu
12.03.2017
11:42:27
Интересно, спасибо

anoru
12.03.2017
11:42:33

Denis
12.03.2017
11:42:33
Но это просто хандлер один

anoru
12.03.2017
11:42:34
мда

code4aman
12.03.2017
11:42:43
С семантиком не получилось склеить, хотя там просто onChange и value нужны

Denis
12.03.2017
11:43:08
Все что я делаю это оборачиваю компонент материал юи
Даже код покажу

code4aman
12.03.2017
11:44:09
В итоге юп оставили, а его снесли

Denis
12.03.2017
11:44:17
Но это точно не тот ад что в других либах

code4aman
12.03.2017
11:45:23
Да, это лучшее что есть кажется

ainu
12.03.2017
11:45:35
Юп садится на бутстраповскую конвенцию подсветки ошибочных полей.
?

code4aman
12.03.2017
11:46:29
Юп про схему и валидацию

Google

Arsen
12.03.2017
11:46:37
Самому
Тогда это до альтернативы redux-form не дотягивает

code4aman
12.03.2017
11:46:39
Не про уи часть

Denis
12.03.2017
11:47:12
ну, с формалом я начал писать код, а не читать в сотый раз доки
сверху пример обертки инрпута от матириала

ainu
12.03.2017
11:47:42
Ок. А формал?

Denis
12.03.2017
11:47:44
там свои коллбеки
что формал?

ainu
12.03.2017
11:48:13
Садится на бутстраповскую подсветку?
Или тоже ручками писать?
Вдруг там вокруг инпута своя обвязка html+css для подсветки

Denis
12.03.2017
11:49:26
в скрине выше видно как ловится ошибка
в компонент пробрасывается
а там что хочешь делаешь

ainu
12.03.2017
11:49:57
Понял.
Удобно
checkError() самописная или импортируется из библиотеки?
Её нет на скрине

Denis
12.03.2017
11:51:34
самописная
но это просто сахар

ainu
12.03.2017
11:52:22
Симпатично выходит

Google

Denis
12.03.2017
11:52:24
чтобы выдернуть сообщение первой ошибки для поля
а сами сообщения ошибок уже в yup схеме
главное что не нужно париться где хранить данные
у меня есть одна форма которая юзается в нескольких местах

Max
12.03.2017
11:54:32
validatorjs как-то понятнее
yup / jsonSchema

Denis
12.03.2017
11:54:39
эту форму я оборачиваю в контейнер
один контейнер хранит в редаксе + локалстор
другой в локальном стейте
разделяй и властвуй
)
фишка еще в том что у тебя полный контроль над стейтом

Denis
12.03.2017
11:57:37
когда хочешь ресетишь
хочешь controlled хочешь нет
ошибки можно синхронно можно асинхронно
и никакой магии
это лов

ainu
12.03.2017
12:03:03
За юп спасибо. До кода доберусь попробую завернуть через него.
А что делает формал так и не понял. Похоже, TextField и другие обвязки.
Вроде календаря

Google

ainu
12.03.2017
12:04:20
другой в локальном стейте
А разве наличие локального стейта при redux это не антипаттерн? Как же чистые функции, one source of truth и так далее?

Denis
12.03.2017
12:04:37
Он делает чекинг на было ли поле активировано или нет , управляет схемой и выдает ошибки
Также вешает на форму коллбеки типа ончендж онсабмит
Смотря для чего ) если мне после закрытия формы данные не понадобятся

Max
12.03.2017
12:05:52

Denis
12.03.2017
12:05:52
То и редакс там не за чем
С формалом можно опустить локальный стейт

Admin
ERROR: S client not available

Denis
12.03.2017
12:06:28
И сразу ловить онсабмит
Но это если нет всяких автолополнений и валидации со стороны сервера
В общем для максимально простых форм

ainu
12.03.2017
12:07:54
Автодополнение при таком подходе можно в компонент спрятать теоретически

Denis
12.03.2017
12:08:05
Ну я через стор смотрю
Точнее на экшн
Явное поведение

code4aman
12.03.2017
12:09:05

ainu
12.03.2017
12:09:18
Блин

Denis
12.03.2017
12:09:22
А компоненты дамб ас э фак

ainu
12.03.2017
12:09:46
"всякий мусор" не очень формальное выражение
Идею я понял

Google

ainu
12.03.2017
12:10:27
Например содержимое инпута не часть стейта.
Ошибка в форме тоже.
Тоесть стора, не стейта
Смотрите. Есть допустим таблица. Там надписи. Щелкаем по надписи она меняется на инпута (как эксель)
Факт переключения в режим инпута это стор или локал стейт? Сохранение по enter, не реалтайм.

Anton
12.03.2017
12:14:01

Max
12.03.2017
12:14:12
стор канеш

ainu
12.03.2017
12:16:50
стор канеш
Тогда я ничего не понимаю. Ведь режим инпута это "мусор"

Max
12.03.2017
12:17:12
depends

Denis
12.03.2017
12:17:16
Тут как хочешь

Max
12.03.2017
12:17:20
у тебя данные из инпута как собираются?

ainu
12.03.2017
12:17:25
Он реализуется даже на css, если вывод делать не через div, а input

Denis
12.03.2017
12:17:50
Твой компонент может брать коллбек ввода инпута и слать эту инфу
А как он выглядит его забота
Понятно что он не пошлет ничего пока он див

ainu
12.03.2017
12:18:26

Max
12.03.2017
12:18:36
не
я имею в виду данные которые отправились

ainu
12.03.2017
12:20:08
У меня никак, это гипотетический вопрос. Ну допустим внутри компонента onkeypress, проверка на код 13, далее form resialize и аяксом например

Max
12.03.2017
12:20:49
хм