Viktor
28.10.2018
07:26:55
М
28.10.2018
07:26:57
Roman
28.10.2018
07:27:11
https://webpack.js.org/plugins/ignore-plugin/
М
28.10.2018
07:27:35
ну ведь можно как-то импортить изящно и существенно сокращать вес импорта
Google
Roman
28.10.2018
07:27:57
М
28.10.2018
07:28:22
я имею в виду руками)
Viktor
28.10.2018
07:28:45
Roman
28.10.2018
07:28:58
но в коде момента require('locales/' + locale) как-то так
из-за этого любой сборщик воткнет в бандл всю папку так как не знает что понадобится
М
28.10.2018
07:29:29
спасиб
Viktor
28.10.2018
07:29:53
спасиб
https://github.com/moment/moment/issues/4025
Ну уж так собрали его, значит, этот момент
Roman
28.10.2018
07:30:42
не ну я дал ссылку. в вебпаке можно исключить. а других наверное тоже
но вообще момент местами очень специфическая либа
Viktor
28.10.2018
07:31:52
В тему))
М
28.10.2018
07:32:11
я как раз не могу его дропнуть из-за локализации всех слов, связанных со временем, на русский
Google
М
28.10.2018
07:32:48
"11 секунд" но "1 секунда" но "21 секунды"
так-то именно для форматирования и расчетов есть куда менее объемные либы
Duego
28.10.2018
07:32:51
М
28.10.2018
07:33:40
J.
28.10.2018
07:37:10
Viktor
28.10.2018
07:38:02
Ну или альтернативу бери)
М
28.10.2018
07:39:34
Viktor
28.10.2018
07:40:03
М
28.10.2018
07:40:32
хм, буду смотреть
спасибо
Kevin
28.10.2018
07:43:15
М
28.10.2018
07:44:25
кстати про date-fns я то ли просмотрел, то ли когда я ее смотрел некоторео время назад она не умела в локализацию
Kevin
28.10.2018
07:46:08
Если нужно "позавчера", "пять минут назад", "через час", то для этого есть FormattedRelative из react-intl
А вот именно форматирование юнитов с данными из CLDR мне не попадалось
М
28.10.2018
07:50:35
если полный список из CLDR - то возможно и правда нету
Google
М
28.10.2018
07:51:16
но это избыточно на мой взгляд, на практике такое вряд ли нужно
Kevin
28.10.2018
07:53:07
а что ты имеешь в виду под юнитами?
Когда что-то типа (15).toLocaleString('ru', { style: 'unit', unit: 'minutes' }) === '15 минут'
Вот похожее апи пока только в stage 3 и без работающего полифила, как я понял
Другой вопрос, что ты обычно хочешь не просто "15 минут", а "1 час 15 минут", тогда это уже несколько юнитов и нужен ещё форматировщик списков, который тоже пока в stage 3
Ну а вот чтобы разницу между двумя датами привести к объекту типа { hours: 1, minutes: 15 }, есть luxon)
М
28.10.2018
07:56:55
не ты случайно ведешь этот канал? как-то подозрительно)
Kevin
28.10.2018
07:57:50
Андрей
28.10.2018
08:01:11
Подскажите, почему вначале undefined стреляет и как это исправить?
Viktor
28.10.2018
08:04:30
А почему у тебя postReducer в default возвращается пустой объект?
Это конечно не причина проблемы, просто интересно стало
Андрей
28.10.2018
08:06:40
линтер возмущается что по дефолту ничего не стоит
Viktor
28.10.2018
08:06:49
Да и вообще у тебя сигнатура значения post в state и в reducer'е отличается
Андрей
28.10.2018
08:07:18
а ок
Viktor
28.10.2018
08:08:11
а ок
Это как бы канон в редаксе)
Google
Viktor
28.10.2018
08:08:18
Андрей
28.10.2018
08:09:06
а вот теперь все норм
спс
Viktor
28.10.2018
08:09:59
Redux - это как спинной мозг, там action проходит "вниз" по всем reducer'ам и обработается в том, где case по action.type сходится
М
28.10.2018
08:13:26
я не понимаю а зачем вообще нужен редакс. для 99% всего хватает обычного стейта. для таких вещей как текущая локаль - есть queryParams в роутере (не знаю за реактовские роутеры, но уверен что есть). для таких глобальных вещей, как логин и корзина, есть localStorage, но они в полутора местах в приложении используется.
Viktor
28.10.2018
08:13:38
Он может обработаться в одном, двух, трех reducer'ах, но если reducer "не отвечает" за этот action, нужно сделать rerurn state, чтобы вернуть по ссылке/значению старую "веточку" от state
М
28.10.2018
08:13:42
я так живу, у меня рабочее приложение в проде и вполне адекватно не знаю вообще проблем с редаксом, жффектором и мобх
где я неправ?
Eugene
28.10.2018
08:14:35
Viktor
28.10.2018
08:14:56
М
28.10.2018
08:15:22
Viktor
28.10.2018
08:16:12
Redux же это инструмент на базе reducer'ов выполненный в стиле single storage с возможностью воткнуть middleware. Все
Там 100 строк кода (говорят)
Eugene
28.10.2018
08:17:25
Viktor
28.10.2018
08:18:37
Открыл с телефона
https://cdnjs.cloudflare.com/ajax/libs/redux/4.0.1/redux.js
Выглядит крохотным
М
28.10.2018
08:18:50
В смысле?)
я постоянно вижу споры о том, как можно лучше управлять глобальным стором. Верней насколько хуевы все текущие реализации. Консенсус существует только в том, что все они достаточно хуевы.
и так как я вообще не юзаю глобальный стейт и не вижу в этом необходимости, мне и непонятна глубина проблемы)
Viktor
28.10.2018
08:19:21
И там больше мусора, чем кода полезного, по-моему (комментарии, обертки)
Google
Viktor
28.10.2018
08:20:24
А не про глобал storage)
Мне в redux не нравится только то, что некоторые чуть что туда выбрасывают любой сложный локал стейт, который они setState'ом уже не в силах управлять (код запутанный, стейт огромный, весь на условиях)
Например, очень сложный компонент с фильтрами многоуровневыми
И я часто на медиуме встречал такие статьи. Но тогда redux уже не global storage, а микс из всего подряд. Эти новые реактовские хуки с возможностью за копейки воткнуть в локал стэйт компонента reducer-очень помогут людям с таким мышлением
М
28.10.2018
08:27:43
сложные формы и фильтры достаточно дрочно делать на стейте
но когда сделал, то непонимание необходимости редакса только увеличивается
Viktor
28.10.2018
08:29:13
Wthigo
28.10.2018
08:30:02
Всегда так много рассказов кто там что сделал. Обычно норм пацаны код показывают или пруф оф концепт
Viktor
28.10.2018
08:30:09
Там у меня есть все и на все случаи жизни, плюс я не особо завишу от ui-библиотеки
И показывал POC
Хрен щас найду
Размыто все)
Speed of
28.10.2018
08:31:57
Подскажите пожалуйста, почему он не добавляет в массив первое сообщение которое я отправляю. В массиве уже есть 3 элементы, после того как я нажимаю send - в функцию приходит data, но в массив именно