@react_js

Страница 4175 из 5115
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
не хочу подключать сторонние библиотеки к библиотеке
ты можешь свой написать ручками, это либа на 10 строчек грубо говоря

а то в таком виде адок

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
ну я сделаю setState({ errors: transformErrors(res.data.errors) })
тут так и есть, практически, только transformErrors это валидатор, а data.errors идёт в проп, получится <Validation validator={combine(yup,transformErrors)} submitErrors={res.data.errors}>

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
styled-components
Ну это ж можно и без жсс не?

Artyom
13.06.2018
22:11:29
?️Ivan
13.06.2018
22:12:31
styled-components
Только сегодня твоё выступление глянул, доходчиво, лайк

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
А кто-то может сравнить final-form и formik в чем разница между ними 7
Я вот уверен что видел тут таблицу сравнения, но думаю она уже устарела

Впрочем, я и сам этот вопрос поднимал в реакточате киева

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
и одна схема

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
в сабмит эвенте будет статус валидации всей формы
окей, а как вложенные валидейшины закомпоузятся 7

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

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
также трансформер может реагировать не на изменение конкретного поля, а на изменение в какой-то части модели
по поводу твоей реализации, прикольно продолжай пилить, но я бы подумал, что бы как-то вынести часть логики с транформацией и другой стафф с реакта

Страница 4175 из 5115