
Alex
03.05.2018
09:12:07
поэтому у себя я хочу реализовать модель
{
field: { value, isChanged }
field2: [{ value, isChanged }, ...]
}
и последующий парсинг в
{
field: ""
field2: ["", ...]
}
но тут возникают некие неоднозначные моменты с группой чекбоксов с одним именем, ибо по сути мне не важены стейты типа isChanged у каждого, а один общий и значение типа:
{
checkbox: { value: ["flag1", "flag2"], isChanged }
}
так что, формы совсем не изи

Valeriy
03.05.2018
09:14:46
@Wrouds ты отталкивайся от результата, который нужно получить
зачем тебе форма? чтобы отправлять form-data на сервер?
или для формирования json для отправки через ajax/ws?

Google

Alex
03.05.2018
09:15:38
так мы делаем либу для контроля формы, для validate и трансформаций, а отправить я могу и обычную html форму

Valeriy
03.05.2018
09:15:52
форма ради формы? :))
форма нужна для того, чтобы сформировать блок данных для отправки на сервак

Alex
03.05.2018
09:16:21
ну я себе делаю инструмент для трансформаций и валидации + правильный парсинг значений формы для работы в React

Valeriy
03.05.2018
09:16:26
вот от формата отправляемых данных и нужно идти кмк

Alex
03.05.2018
09:17:08

Valeriy
03.05.2018
09:17:30
ну я не про стейты формы сейчас
ты спрашиваешь как тебе правильно именовать поля
как правильно сформировать модель данных для формы
я тебе предложил подумать надо целью, кто конечный потребитель этой модели будет
чтобы ты потом не болел головой с трансформацией данных формы

Alex
03.05.2018
09:18:23

Valeriy
03.05.2018
09:18:24
перед отправкой данных

Google

Alex
03.05.2018
09:19:17
снова, мне нужен контроль над стейтом формы и доступ к модели данных в этой формы, не только отправка данных
для отправки данных не нужно ничего писать, берём обычную форму и FormData, всё
дело в том, что представление значений в реакте, должно правильно трансформироваться в представление формы, в то же время представление данных формы не подходит для работы в реакте
отсюда все либы типа formik, final-form

Vladimir
03.05.2018
09:22:22
И все они дико медленные

Valeriy
03.05.2018
09:22:28
вот мне проще, т.к. у меня уже больше двух лет нет ни одной формы, которая бы стандартным сабмитом отправляла запросы на сервер
все бакенды в проектах где я участвовал принимают json

Vladimir
03.05.2018
09:23:15
final-form сделал сабскрипшены и весь такой реактивный - но сабскрайб на другое поле не сделали

Alex
03.05.2018
09:23:21
так из шейпа формы этот json ещё нужно сформировать

Valeriy
03.05.2018
09:23:55

Alex
03.05.2018
09:24:14

Vladimir
03.05.2018
09:24:21
а зачем?
Ну, у нас есть компонент адреса.
У него меняется лэйаут в зависимости от выбранной страны
Но это пример из головы
У нас было что-то более серьёзное, и там нужно было обновлять значение, когда одно из других изменилось

Valeriy
03.05.2018
09:25:55
field[0], field[1]?
вот представь себе форму и json предтавляющий ее данные, где имена ключей это name из полей формы
а значения регулируются getters/setter конвертором

Alex
03.05.2018
09:26:18

Vladimir
03.05.2018
09:27:01

Alex
03.05.2018
09:27:01

Google

Alex
03.05.2018
09:27:25

Vladimir
03.05.2018
09:27:41
Скажем так, я не углублялся в дебри, ибо мы просто прошлись по доке, протыкали примеры

Alex
03.05.2018
09:28:47
на сервер передаются данные, а не шейп html разметки

Vladimir
03.05.2018
09:29:25
Данные в json'е должны иметь форму редактируемой модели
И если модель :
some_fields: Array<string>
То и json должен быть в таком же формате

Alex
03.05.2018
09:31:44
так я о том же,
<input name="some">
<input name="some">
имеет модель some: string[]
а
<input name="some[0]">
<input name="some[1]">
имеет модель
{
'some[0]': string
'some[1]': string
}
и это уже совсем другое представление

Valeriy
03.05.2018
09:33:33
не нужно загонять себя в такие ситуации просто
за имена полей ты сам отвечаешь

Alex
03.05.2018
09:33:46
за имена полей ты сам отвечаешь
так твоя форма говорит мне, если хочешь массив полей, то будь добр отвечать за имена полей и контролировать индекс, а не юзать html паттерн
это ситуация в которой твой подход диктует свои правила работы с формой, а не соответсвует тому как работают формы в html

sanqa
03.05.2018
09:35:35

Alex
03.05.2018
09:35:59
some[0]!==some

Alexander
03.05.2018
09:36:55
redux-actions vs redux-act?

Again
03.05.2018
09:37:42
net
https://www.typography.com/blog/introducing-operator

sanqa
03.05.2018
09:38:17
ну офиц да платный

Google

Again
03.05.2018
09:38:46

Alex
03.05.2018
09:38:49
за имена полей ты сам отвечаешь
т.е. по сути ты предлагаешь свой подход к реализации кейса не соответствующий html подходу и нарушающий представление модели

Valeriy
03.05.2018
09:39:11
и на эти странные их подходы

Alex
03.05.2018
09:39:53
так я тебе и говорю, что в реакте если массив полей то field:[] а не field[0], field[1]

Andrew
03.05.2018
09:40:36
Посмотрите как филд array сделан в final form

Alex
03.05.2018
09:41:37
как отдельный npm пакет лол
customers массив, а не customers[{index}]

Valeriy
03.05.2018
09:44:57
кстати с чего ты взял, что если ты задашь 3-м инпутам одно имя, то форм дата тебе сделает массив из них?

Admin
ERROR: S client not available

Alex
03.05.2018
09:47:54
потому что он сделает
field[0]
0-2 крч

Valeriy
03.05.2018
09:48:48
хотя да можно

Alex
03.05.2018
09:48:57
FormData не уверен, но обычный submit сделает field[0-2]

Valeriy
03.05.2018
09:49:00
если в FormData делать getAll по имени

Alex
03.05.2018
09:52:51
похоже под массив checkbox придётся делать полный стейт под каждый checkbox иначе при парсинге значений из модели данных в стейт формы получается неоднозначность, какая же это жопа вся эта вариативность модели данных формы

Roman
03.05.2018
09:53:22
можно чекбокс сделать со своим стейтом
и размапить его

Alex
03.05.2018
09:54:44

Google

D_d
03.05.2018
09:57:15
жаркий дискус по формам.
@Wrouds так ты в итоге сам обрабатываешь формы кастомно или юзаешь плагин?

Valeriy
03.05.2018
09:59:32
оч плохо
ну если бы я лендингами занимался, где юзаются нативные формочки часто, то наверное пересмотрел свое отношение к ним
а когда тебе годами вообще от верстки кроме div/a ничего не нужно....

D_d
03.05.2018
10:00:08
плохо

Valeriy
03.05.2018
10:00:11
т.е. с чистым html вообще раз в пятилетку :)))

Alex
03.05.2018
10:00:12

Valeriy
03.05.2018
10:00:23
это не плохо, а очень даже гуд :)
потому что все эти проблемы мне неизвестны

Alex
03.05.2018
10:00:51
сейчас пишу обнову для поддержки массивов данных

D_d
03.05.2018
10:00:57
painless form название много обещающее ))

Alex
03.05.2018
10:01:24

Valeriy
03.05.2018
10:01:44
заведовмо ограничив себя в возможностях использовать всякие прикольные компоненты
типа расширенных датапикеров

Alex
03.05.2018
10:02:37
я не юзаю FormData, мой onChange на форме возращает трушный json представление

Valeriy
03.05.2018
10:02:40
которые вообще понятия не имеют что такое тег form

Alexander
03.05.2018
10:03:05
При использовании redux-act-async нужен redux-thunk?

Andrew
03.05.2018
10:04:12

Alex
03.05.2018
10:04:15

Valeriy
03.05.2018
10:06:30
@Wrouds вот ты делаешь либу для реакта и сидишь паришься над тем "а что если юзер сделал одинаковые name для input-ов"