@react_js

Страница 2764 из 5115
Artyom
14.12.2017
07:10:35
По моему опыту на либах сложно делать связанные поля, в остальном они позволяют убрать некоторый бойлерплейт, типа: wasTouched, валидацию на блюр и т.п.

Владимир
14.12.2017
07:11:48
Морока в том, что redux-form пытается выполнить destroy при unmount компонента. А если указывать флаг, чтоб не дестроил, то приходится очищать вручную. И с предзаполнением были сложности, если значения для ввпадахи например подгружаются динамически

Artyom
14.12.2017
07:12:41
Не надо использовать redux-form, если ты точно не представляешь зачем это тебе нужно. Это я не тебе ^ конкретно, а вообще

Владимир
14.12.2017
07:12:44
Как раз связанные поля на redux-form неплохо получились

Google
Artyom
14.12.2017
07:13:07
Ну потому что redux

Владимир
14.12.2017
07:15:59
Ну и вообще удобно следить в redux extension, что именно там в сторе

Alexander
14.12.2017
07:21:14
Мне бы понять зачем это другим людям нужно?:) Что бы не писать бойлер плейт для контактной формы?)

Не надо использовать redux-form, если ты точно не представляешь зачем это тебе нужно. Это я не тебе ^ конкретно, а вообще
Мне бы понять зачем это другим людям нужно?:) Что бы не писать бойлер плейт для контактной формы?)

Artyom
14.12.2017
07:23:03
хайп

Alexander
14.12.2017
07:25:15
ну если так, то грустно :(

спасибо :)

Anton
14.12.2017
07:42:25
; не возможно НЕ писать если нет линтера, который спасёт от тупейших ошибок автоинвокации, которые _конечно_ же будут. С линтером все окей, но это значит что ; должно быть в правилах линтинга так как спасает от ошибок. Но тот же Абрамов совсем недавно наезжал на стандарт.js(там эпичный тред), а теперь сам без точек с запятой.

Anton
14.12.2017
07:43:53
Это с линтером. А без него?

к тому же вебпак ставит ;
Js их сам ставит. В том и смысл.

Google
Artyom
14.12.2017
07:44:06
Что плохо, вся redux дока без ;

Oleg
14.12.2017
07:44:19
Если у кого то есть опыт с этими библиотеками, больше чем контактная форма. Поделитесь ощущениями.
Использую react-redux-form. Из плюсов - из этой либы можно не использовать ни одного компонента, только создавать редьюсеры, и руками триггерить в полях ввода соответствующие экшены. Есть все для создания кастомных компонентов, в общем относительно гибкая либа. Состояние отдельного элемента формы разумное (фокус, валидность, и тд). Из минусов (на проекте используются компоненты всех видов, от масок до автокомплита) - если апи компонента не соответствует стандартному onChange/value, а как в react-autosuggest к примеру в отдельных коллбэках меняется значение поля ввода - могут быть трудности с интеграцией

Но это если встроенный control компонент юзать. С другой стороны, без него слишком много работы руками надо делать

Alexander
14.12.2017
08:04:23
Но это если встроенный control компонент юзать. С другой стороны, без него слишком много работы руками надо делать
спасибо:) Наверное я не буду использовать её в своих проектах. У нас очень большой пул компонентов, который меняется от проекта к проекту.

Oleg
14.12.2017
08:06:01
спасибо:) Наверное я не буду использовать её в своих проектах. У нас очень большой пул компонентов, который меняется от проекта к проекту.
попробовать в любом случае стоит, как минимум если писать что-то свое, оттуда можно подчерпнуть много хороших идей)

Andrew
14.12.2017
08:06:18
React final form

dima
14.12.2017
08:09:40
всем привет. Вставляю url в styled-components и в итоге выходит вместо /url/url1 -> url.url1 т.е в стилях слеши на точки какого то хрена заменились

Awario
14.12.2017
08:13:58
babel поддерживает fetch или нужно использовать isomorphic-fetch?

Andrey
14.12.2017
08:16:22
babel поддерживает fetch или нужно использовать isomorphic-fetch?
Нет, не поддерживает. Используй whatwg-fetch.

Andrey
14.12.2017
08:17:02
Изоморфик иногда криво в IE работает. А остальные браузеры уже имеют нативную поддержку этой функции.

Anton
14.12.2017
08:32:26
Стандарт хорош только тем, что это стандарт. Можно спокойно плюнуть на то, что там идиотские правила.
Эээээ нет. Вот за что их гнобили и продолжают гнобить, так за то что они себя САМИ назвали стандартом. Никакой это не стандарт.

Anton
14.12.2017
08:33:56
Есть форк стандарта с семиколонами

Andrey
14.12.2017
08:34:10
И как у него дела?

Anton
14.12.2017
08:41:55
Его автор вставляет липку на репу в каждый тред про стандарт и семиколоны. Наверное не плохо.

Google
Cenator
14.12.2017
08:42:32
Всему своё время)
да, потом выпилят из стандарта)

Erving
14.12.2017
08:44:59
друзья, есть странная проблема с сортировками. есть массив в рендере, и он периодически сортируется по определенному принципу (вверху списка появляется новый элемент). но почему-то первый элемент у меня никогда не меняется, новые элементы добавляются на вторую позицию. render() { var arr = this.arr; return ( <ul> {arr.map( (value, index)=>{ return( <li key={index}> <br /> <a href={value.link}>{value.title}</a> </li> ) })} </ul> ) }

Erving
14.12.2017
08:46:09
сделай нормальный key
можете подсказать, как лучше?

Cenator
14.12.2017
08:46:10
уникальный

не индекс массива

строку можно

Erving
14.12.2017
08:47:28
строку можно
интересно, надо попробовать

Alexander
14.12.2017
08:50:22
Erving
14.12.2017
09:09:50
строку можно
та же проблема, дело не в key

Andrey
14.12.2017
09:10:38
та же проблема, дело не в key
Покажи код сортировки.

Erving
14.12.2017
09:11:07
Покажи код сортировки.
componentWillReceiveProps(nextProps){ if (nextProps.newsList !== undefined){ this.arr = nextProps.newsList; this.arr.sort((a, b)=>{ new Date(a.date) - new Date(b.date); }) return this.arr; } }

Alexander
14.12.2017
09:14:58
разве твоя функция сортировки не возвращает undefined?

Cenator
14.12.2017
09:15:12
погоди, зачем ты в this.arr сохраняешь? реакт не следит за ним

Andrey
14.12.2017
09:15:17
Кстати да.

Erving
14.12.2017
09:16:04
Google
Cenator
14.12.2017
09:16:21
лол

Erving
14.12.2017
09:17:07
лол
var arr = this.arr; а что?)

Cenator
14.12.2017
09:17:17
Александр
14.12.2017
09:17:19
резби , вопрос. Могу ли я как-то через екшн применять селектор?

Andrey
14.12.2017
09:17:34
var arr = this.arr; а что?)
Просто говнецо немного. Не обращай внимания.

Cenator
14.12.2017
09:17:39
var arr = this.arr; а что?)
const { arr } = this тогда уж

Admin
ERROR: S client not available

Artyom
14.12.2017
09:18:01
Тебе сказали фигурные скобки убрать (ретур вычисляемого выражения тогда будет)

Alexander
14.12.2017
09:18:59
если используешь { всегда нужен return, даже если код из 1 строки}

Andrey
14.12.2017
09:21:22
Stepan
14.12.2017
09:22:08
А куда?
Ну я предполагаю, что он рендерит потом с него

Или не?

Artyom
14.12.2017
09:22:14
Видимо знает, что сортировка мутирует, но не знает про то как объекты в переменных храняться

Stepan
14.12.2017
09:22:37
Есть мнение, что рендерить не из state или props - плохая затея

Andrey
14.12.2017
09:22:50
Erving
14.12.2017
09:23:18
Зачем ты в this.arr кладёшь?
чтобы иметь доступ к переменной из любого метода класса

Google
Stepan
14.12.2017
09:23:32
Владимир
14.12.2017
09:24:05
а setState для кого придуман?

Падре
14.12.2017
09:24:13
Здравствуйте, а подскажите где можно почитать о особенностях разработки front-end на react в high load системах

Stepan
14.12.2017
09:25:07
Владимир
14.12.2017
09:25:48
я убрал, пока всё так же
не надо мутировать какие-то переменные компонента напрямую. Отсортируй массив как надо и сделай setState

Andrey
14.12.2017
09:25:48
Почему бы нет?
Не особо нравится стейт загаживать. Мне кажется, что он должен быть как можно меньше.

Stepan
14.12.2017
09:26:10
Не особо нравится стейт загаживать. Мне кажется, что он должен быть как можно меньше.
Но концептуально, если ты из чего-то рендеришь, надо класть в стейт

Иначе рискуешь оставить компонент необновленным

Alexander
14.12.2017
09:26:28
Выложи компонент со своей сортировкой на codepen или тп что бы можно было поиграть. Я с удовольствием помог бы.

Andrey
14.12.2017
09:26:42
Erving
14.12.2017
09:26:56
Ну показывай
componentWillReceiveProps(nextProps){ if (nextProps.newsList !== undefined){ this.arr = nextProps.newsList; this.arr.sort((a, b)=>{ return new Date(a.time) - new Date(b.time); }) } }

Andrey
14.12.2017
09:27:28
componentWillReceiveProps(nextProps){ if (nextProps.newsList !== undefined){ this.arr = nextProps.newsList; this.arr.sort((a, b)=>{ return new Date(a.time) - new Date(b.time); }) } }
Возьми сортировку из какого-нибудь lodash. sort() не создаёт новый объект, а надо бы.

Artyom
14.12.2017
09:28:18
Ну он ретурн вставил

Erving
14.12.2017
09:28:22
Ну и где ты убрал?
ой, нет, но ретурн же есть

Stepan
14.12.2017
09:28:31
Дык это только readonly аргументы.
Идея в том, что нет гарантии, что компонент обновится. Да и неочевидно, что там пропсы меняются и обновление происходит

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