
Alex
13.06.2018
21:51:39
это из того что я вспомнил, возможно что-то упустил

Dmitry
13.06.2018
21:53:44
4 что имеешь ввиду под этим 7

Alex
13.06.2018
21:55:32
ну, допустим у тебя есть валидатор полей у клиента, и ещё сообщение валидации приходит с сервера, чтобы отобразить помимо клиентских ошибок, те что пришли с сервера, тебе нужно закинуть эти данные в <Validation> в виде пропа, и обработать функцией-валидатором
https://codesandbox.io/s/github/Wroud/react-painlessform/tree/master/examples/base.1
это необновлённый пример, с немного кривой имплементацией, но суть показывает

Google

Alex
13.06.2018
21:57:46
а, нет, не показывает

Yung
13.06.2018
21:58:45
а то в таком виде адок
render props hell

Alex
13.06.2018
21:59:30
хорошо, подумаю, самому не очень нравится, но это частный случай, может, переделаю

Dmitry
13.06.2018
22:04:19
а почему я просто не могу ошибки которые были в респонсе в стейт еррорс закинуть ?
при этом сделать для них трансформацию
обычной функцией

Valeriy
13.06.2018
22:05:06
мне вот очень понравился подход такой
это дает и довольно большую гибкость
и управляемость формой

Dmitry
13.06.2018
22:06:16
стремно выглядит

Google

Dmitry
13.06.2018
22:06:17
но мб
мне больше через yup нравится

Yung
13.06.2018
22:06:46

Alex
13.06.2018
22:06:48

Dmitry
13.06.2018
22:07:11
ну я сделаю setState({ errors: transformErrors(res.data.errors) })
грубоговоря
а потом каждый филд разберет ерроры

Alex
13.06.2018
22:07:26
типа, ожидается, что респонс сначала придёт пропом в компонент содержащий форму

Dmitry
13.06.2018
22:07:47
хз почему форма должна знать про респонс ?)
не хочу хвалить формик (он какой-то кривоватый), но там апи удобное

Dzmitry
13.06.2018
22:09:17
Jss юзает кто нибудь?
Есть ли какие то прям под него кейсы?
Спасибо

Alex
13.06.2018
22:09:28

Artyom
13.06.2018
22:09:40

Valeriy
13.06.2018
22:10:03

Alex
13.06.2018
22:10:52
хз почему форма должна знать про респонс ?)
потому что ты откуда-то данные получил, допустим из санка, данные прокинулись в компонент с формой, а дальше ты их прокидываешь в форму(ну, или валидатор), это просто принцип реакта

Dmitry
13.06.2018
22:10:55
А кто-то может сравнить final-form и formik в чем разница между ними 7

Dzmitry
13.06.2018
22:11:09

Artyom
13.06.2018
22:11:29

?️Ivan
13.06.2018
22:12:31

Artyom
13.06.2018
22:12:54

Google

Nikita
13.06.2018
22:15:58
соре. Я что-то залипаю. Считается ли плохой практикой ф-ии с логикой внутри dispatchToProps? Как в примере
const needCheck = ['qq-action', 'bb-action']
connect(
(state) =>({...неважно...}),
(dispatch) => ({
doAction: (actionName) =>
needCheck.indexOf(actionName) >= 0 ?
dispatch(showWarning(actionName)) :
dispatch(handleAction(actionName))
})
)

Alex
13.06.2018
22:16:14
@zdmitr и снова тишина, в целом как апи?

Dmitry
13.06.2018
22:17:36
ну мне нрав идея
но с трансформ и валидейшин
компонентами
я не оч понимаю

Yung
13.06.2018
22:18:03
Впрочем, я и сам этот вопрос поднимал в реакточате киева

Alex
13.06.2018
22:18:25
посмотри пример реиспользования, там UserForm не знает ничего о том, в какой форме окажется, но имеет валидацию и трансформы
если представить сложную форму, то её можно будет составить из частей с помощью композиции, и выглядеть это будет очень круто

Dmitry
13.06.2018
22:19:57
почему не сделать как в формике ?

Alex
13.06.2018
22:20:02
нет надобности в описании единственного валидатора на все поля, можно написать несколько на разные группы, опять же для упрощения, то же с трансформами, но вообще вся суть раскрывается когда начинаешь юзать композицию из частей формы в сложных формах

Alex
13.06.2018
22:20:07
а как в формике?
виз форм и одна функция?

Dmitry
13.06.2018
22:20:29
и одна схема

from
13.06.2018
22:20:35

Dmitry
13.06.2018
22:20:39
окей

from
13.06.2018
22:20:40
каждому отдельному полю

Dmitry
13.06.2018
22:20:48
смотри а если у меня 3 компонента валидейшин

Alex
13.06.2018
22:20:57
onSubmitted колбек в асинхронной фукнции сабмита и прочие не реактовые прелести?

Google

Dmitry
13.06.2018
22:21:01
я сделал из них форму, а потом хочу в руте получить все валидации
от все 3 вложенных компонентов валидейшин

Alex
13.06.2018
22:21:28
ты его и получишь

Yung
13.06.2018
22:21:41
Такс, внезапный вопрос, кто-то мобикс юзает? Если да, обновлялись до 5+ версии, девтулзы работают? А то у меня сломаны и чёт не уверен что это проблема мобикса, я их раньше не юзал просто и ток на 5й решил поставить

Alex
13.06.2018
22:21:46
в сабмит эвенте будет статус валидации всей формы

Dmitry
13.06.2018
22:22:10

Alex
13.06.2018
22:22:23
валидаторы между собой складываются, т.е. если в нескольких будет ошибка для одного и того же поля, то поле получит все ошибки
с трансформами логика друга, https://github.com/Wroud/react-painlessform/releases
вот тут в релиз ноуте я постарался описать принципы композиции валидаторов и трансформов

Dmitry
13.06.2018
22:23:41

Admin
ERROR: S client not available

Dmitry
13.06.2018
22:23:44
положит оошибку вверх
подожди за трасформы
и в форме я смогу получить данные про еррор ?

Alex
13.06.2018
22:24:14
у формы единый стетй валидации
да

Dmitry
13.06.2018
22:24:47
ну типа ты мог с таким же успехом сделать это с одной схемой валидации
просто это ради композиции тип 7

Alex
13.06.2018
22:25:07

Google

Dmitry
13.06.2018
22:25:48
я понял, ты просто по сути собираешь глобальную форму валидации
схему*
из этих мелких

Alex
13.06.2018
22:26:38
там немного интереснее, валидации будут происходить во время рендера тега валидации / или во время изменения в поле / сабмите
т.е. когда появится асинхронный рендеринг, валидация будет разбита на эти самые валидаторы, а не выполняться за один проход

Dmitry
13.06.2018
22:27:47
ну там с асинхронным рендерингом мног овопросов
так что я бы этим не задавался сейчас

Alex
13.06.2018
22:28:11
ну у меня так совпало

Dmitry
13.06.2018
22:28:18
так а че с трансформами ?

Alex
13.06.2018
22:28:47
трансформы, они позволяют полностью управлять изменениями в форме, отменить, переписывать, размножать
композиция идёт по приоритету, чем ближе трансформер к полю, тем выше у него приоритет, также трансформы выполняются по порядку из левого верхнего угла в правый нижний, т.е. первый -> вглубь, второй -> вглубь и т.д.
трансформеры исключают возможность цикличной трансформации (спасибо приоритетам)

Dmitry
13.06.2018
22:30:49
ну идеи хорошие
но мне чет апи то что все вот так через реакт компоненты
не оч нравится

Alex
13.06.2018
22:31:10
также трансформер может реагировать не на изменение конкретного поля, а на изменение в какой-то части модели

Dmitry
13.06.2018
22:31:16
https://medium.com/@foxhound87/automagically-manage-react-forms-state-with-mobx-and-automatic-validation-2b00a32b9769
мне вот эта штука нравилась
в плане апи для формы
если бы сделать для реакта получше апи
просто создавать форму как модель с хуками

Alex
13.06.2018
22:32:38

Dmitry
13.06.2018
22:32:46