@react_js

Страница 2483 из 5115
Artyom
03.11.2017
08:01:35
это да

Artyom
03.11.2017
08:01:47
Только зачем он все это прокидывает в пропсы >_>

Andrew
03.11.2017
08:01:48
В редакс форм, куча нюансов. В то время как в формике хочешь руками все прокинуть? Вперёд.

Google
Artyom
03.11.2017
08:02:21
Выглядит малех страшно. Я бы хотел описывать схему, в которой указывать что нужно (через тот же options)

Nikita
03.11.2017
08:02:36
Ах да, чем хорош формик, что там простой как дрова апи
https://github.com/jaredpalmer/formik/blob/4c2431cbe2609a67b0d4fdb86b61756087a5ca2e/src/Field.tsx#L81-L83

Andrew
03.11.2017
08:02:36
Не хочешь, вот я тебе написал field который Formik юзая Children заметит и сам затолкнет все нужное через React.cloneElement

Nikita
03.11.2017
08:02:53
Они даже не удосужились использовать пьюр компонент

Чет пока не нашел ни одного аргумента в пользу перформанса этой либы

Andrew
03.11.2017
08:03:38
Чет пока не нашел ни одного аргумента в пользу перформанса этой либы
Редакс - капец перформансу. Конец истории. Как не танцуй.

Nikita
03.11.2017
08:03:53
Ну, справедливости ради - хранить локально в стейте - не плохая идея

Andrew
03.11.2017
08:04:11
А если не хочешь использовать их Field то просто пользуйся обычным инпутом

Дело не хитрое.

Nikita
03.11.2017
08:04:28
В идеале нужна либа, которая будет локально в стейте хранить значения + коннекторы как у реакт-редакс

Google
Andrew
03.11.2017
08:04:46
Есть выбор в любую сторону. С магией, и без нее и так далее.

Nikita
03.11.2017
08:05:12
А если не хочешь использовать их Field то просто пользуйся обычным инпутом
Да дело не в том, что я хочу. А в том, как это должно быть. Обычный инпут ничего не изменит

Велосипед
пруфы?)

Andrew
03.11.2017
08:05:36
Ну, справедливости ради - хранить локально в стейте - не плохая идея
Лол. Всё что не нужно глобально надо хранить в локал стейте. Иначе лишние тормоза.

Max
03.11.2017
08:05:39
В смысле у меня велосипед есит

Со тейтом и коннектами

Max
03.11.2017
08:06:37
пруфы?)
https://github.com/soofty/react-shared-state

Ридми кривое, надо понятнее сделать.

Nikita
03.11.2017
08:07:18
Изменит, он может быть PureComponent
У меня форма с 30 полями. Ее перерендер даже с пьюр компонентами не освободит reconciliation алгоритм от работы.

Ридми кривое, надо понятнее сделать.
Спасибо, посмотрю. Сам давно хотел завелосипедить нечто подобное

Andrew
03.11.2017
08:07:52
Просто на 50% медленнее все слать через редакс. Это давно известный факт и использовать для вещей которые требуют 0 задержки - редакс не вариант.

Evgeniy
03.11.2017
08:08:00
Проблемы с производетльностью на форме с 30ю полями? really?

Nikita
03.11.2017
08:08:27
Да вопрос концептуальный. Форма с N полями

Andrew
03.11.2017
08:08:32
Max
03.11.2017
08:08:46
Andrew
03.11.2017
08:08:49
Google
Nikita
03.11.2017
08:09:02
Может, хранить в редакс сторе - не лучшее решение. Но нужна имплементация коннекторов из реакт-редакс, которые позволят обновлять единичные компоненты при изменении стейта формы

Сейчас реакт-редакс это худо-бедно делает

Andrew
03.11.2017
08:09:53
Андрей, давай прекратим нести подобные не подкрепленные заявления пока не получил RO за флейм
Увы статейку с измерениями не найду, поэтому, ок, сочтите за флейм.

Nikita
03.11.2017
08:11:33
Потыкай мое - там сетСтейт + коннекторы
сейчас как раз гляжу) А ты где-то в проде используешь такое решение, или просто как прототип?

Max
03.11.2017
08:11:46
Да, у себя гоняем

Вот думаю убрать редакс совсем потихоньку

Andrew
03.11.2017
08:12:40
Редакс - капец перформансу. Конец истории. Как не танцуй.
У редакс форм есть один очень значимый плюс, это возможность создавать свои компоненты

Evgeniy
03.11.2017
08:19:16
У велосипеда он тоже есть. точнее, его легко имплементировать.

Andrew
03.11.2017
08:22:51
+ куча всяких хелперов, типа массива филдов

Артур
03.11.2017
08:33:59
Какой профит хранить состояние формы в сторе. Я не в теме

Andrew
03.11.2017
08:34:59
У редакс форм есть один очень значимый плюс, это возможность создавать свои компоненты
У реакта есть значимый плюс, можно создавать свои компоненты. Заявление примерно такого же уровня. Формик - то же самое только любой инпут из интернета будет с ним работать. А с редакс надо инжектить и то не факт, что выйдет.

Andrew
03.11.2017
08:38:57
У реакта есть значимый плюс, можно создавать свои компоненты. Заявление примерно такого же уровня. Формик - то же самое только любой инпут из интернета будет с ним работать. А с редакс надо инжектить и то не факт, что выйдет.
Надо всего-то 3 параметра передать для того что бы вообще любой компонент заработал как филд в rf. Вот и все, любые слайдеры и тд за 2 минуты делаются филдами. Про перформанс да, на он чейндж лучше ничего не вешать

Andrew
03.11.2017
08:40:18
Кстати. Тут ни у кого нету случаем бенчмарков касающихся JSX-no-bind? Потому как я лютый защитник этого правила. Чтобы при ререндерах новые функции не создавались и не вызывали не нужных ререндеров, что даже рекомпозом не нужно исключать onЧтото и так далее. Ибо логично, что лучше не создавать, и что лучше не байндить внутри рендера и других лайфсайкл методов, но вот какой это импакт на кол-во памяти и перформанс дает в конкретных цифрах, я не проверял.

И очень многие говорят MEH в ответ, мол мы не имеем проблем и продолжают фигачить анонимки внутри рендера, а у меня горит.

Andrew
03.11.2017
08:45:02
Надо всего-то 3 параметра передать для того что бы вообще любой компонент заработал как филд в rf. Вот и все, любые слайдеры и тд за 2 минуты делаются филдами. Про перформанс да, на он чейндж лучше ничего не вешать
Проблема в том, что это надо почитать в доке. И что есть масса нюансов ибо огромная хреновина эти формы. А формик хорош тем, что даже без чтения там все понятно. Если не понятно, то ридми и 30 секунд времени ответят на вопрос. С редакс формами все так не очевидно. Плюс команды очень ленивые переписывать на новую мажорную версию например. В итоге когда ты действительно heavy на формы, у тебя такой каплинг идет на него, что переписать все абстракции часто взывает кучу проблем и не вещь не простая. А если вдруг человек писавший все это ушел из компании. Или вовсе вся команда, то как жить? Я в такой ситуации оказался и спустя пару месяцев мы со страхом юзали абстракции, понимая, что мы в дерьме. Что версия вроде бы как только 3 или 4, когда уже давно вроде 8. И что доки на 3 и 4 версию говно, и что мы в дерьме снова и снова. В итоге к счастью проект вернули клиенту ибо он был компании не выгоден особо, но когда бы встал вопрос апгрейда, мы бы охренели.

Будь это формик или самописный костыль на локальном сторе?

Было бы все куда проще. Разбираешься в нем, покрываешь тестами если он нет, переписываешь к чертям собачьим сохраняя апи до зеленых тестов - profit!

Google
Andrew
03.11.2017
08:47:19
А там умники еще завязались на его экшены и написали саги и так далее. В итоге АД

ОЧЕНЬ много ИНДИРЕКЦИИ. Обычные формы рулят, и формик рулит так же. Но лучше покопипастить, чем делать слишком хитрые абстракции.

И лучше чтобы кишки были ближе к рукам. А не уходили далеко и глубоко как это с Редакс Формой.

Andrew
03.11.2017
08:49:25
RF это такой же инструмент как формик, им надо уметь пользоваться

Там в доках вроде написано, что не стоит из вне диспатчить внутренние экшены RF

Andrew
03.11.2017
08:50:38
RF это такой же инструмент как формик, им надо уметь пользоваться
Проблема в том, что он сложнее. И не нужен в 99% случаев.

Ну тоесть, формик или самописное что-то покрытое тестами лучше и менее страшное и монструозное. Это же форму написать. Это же не сложно. В общем, я резко против Redux-forms и считаю, что если они есть, то можно жить, но тащить их на новые проекты - глупо.

Artyom
03.11.2017
08:58:42
Очень много текста, я не готов это в чате воспринимать, напиши уже статью)

Andrew
03.11.2017
09:04:48
Идеального кейса боюсь не существует. Ибо я не вижу сложности написать визард обычными компонентами :) Это будет легко и просто и читабельно :)

Yuriy
03.11.2017
09:14:15
кстати recompose только из за удобностей выезжает или там есть какой то профит с производительностю? Толком не разбирался, может кто в двух словах скажет

если допустим сровнить компонент чистую функцию с хоками или чем там от рекомповза, и тот же класс от React.Component, может статейка есть на этот счет

Дмитрий
03.11.2017
09:20:34
ну и да, мелкие функции как обычно - проще тестировать, проще дебажить, проще работать

и прочие утилиты тоже полезны, со стримами работать одно удовольствие

Andrew
03.11.2017
09:22:40
Ну всякие pure и пр. Насколько знаю никакой разницы нет при сравнении с обычным. Так что это просто удобно, и кратко. Любимые это бренч, only update for keys, и с контекстом работать через них топчик.

Yuriy
03.11.2017
09:23:34
ага ясно, спасибо

Andrew
03.11.2017
09:24:01
Но тут тоже лучше не злоупотреблять ибо глубокое дерево это больно реакту вроде.

А хоки как раз его углубляют серьёзно так. И потом читать девтулзы невозможно :)

Поэтому я не очень люблю Rebass ибо там он композицию делает безумную. И читать потом невозможно, одни анонимные styled врапперы.

Google
Andrew
03.11.2017
09:25:50
И просто юзаю styled-system от того же автора когда мне надо.

Noise to signal ratio тогда куда меньше.

Ivan
03.11.2017
09:28:06


Yuriy
03.11.2017
09:28:09
у меня на работе старались каждый компонент сделать стейтлесс и обернуть по надобности в всякие withProps от рекомпуза, красиво но не понятно что с производительностю по этому спросил)

Ivan
03.11.2017
09:32:22
полифила разве нет внутри компонента

при том выскакивает на свежих браузерах относительно

Александр
03.11.2017
09:35:40
Верно ли я думаю. Что если есть данные, которые могут изменяться - их нужно хранить в стейте? К примеру список, в который можно что-то добавить\удалить\изменить. Нужно хранить в стейте?

Andrew
03.11.2017
09:42:08
Верно ли я думаю. Что если есть данные, которые могут изменяться - их нужно хранить в стейте? К примеру список, в который можно что-то добавить\удалить\изменить. Нужно хранить в стейте?
Да. В локальном стейте. Если вы пока не дошли до редакса и пр. То да. В самом верхнем родителе и кидать вниз в другие компоненты в виде props.

Andrew
03.11.2017
09:43:22
И поднимать state наверх. По началу так, когда начнёшь понимать как все работает и так далее, нет ничего страшного иметь локальный стейт чуть глубже по дереву. Чтобы делать какие-то, тогглы чекбоксов, контроль инпутов и пр.

Там секция официальной доки есть про это. Почитай.

Andrew
03.11.2017
09:45:11
Там все умно сделано, если пропс будет тот же, ничего не будет перерисовано.

Так или иначе, если ты начинаешь только, до этих моментов и оптимизаций ты дойдёшь потом. Пока не парься :)

nick
03.11.2017
09:46:26
Всем привет, что скажите о saga в проекте?

Александр
03.11.2017
09:46:34
Там все умно сделано, если пропс будет тот же, ничего не будет перерисовано.
Any way :) Спасибо. Redux намеренно не беру, думаю он скоро умрет)

Andrew
03.11.2017
09:49:11
Всем привет, что скажите о saga в проекте?
Отличная вещь, но почти не нужна если используешь Apollo. Полезно знать, позволяет часто избежать написания middlaware и пр.

Очень мощная штука, но нужно быть аккуратным.

Any way :) Спасибо. Redux намеренно не беру, думаю он скоро умрет)
Это вряд ли. Года полтора, два будет жить точно. Потом даже если какие-то RxUberCycle амейзинг штуки придут на замену, на редаксе будут тысячи проектов уже и чисто как легаси скилл он будет полезен. Поэтому лучше не игнорируй.

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