
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, но в массив именно