
Mike
22.05.2017
20:37:17

Pasha
22.05.2017
20:53:33
Парни, подскажите плз по поводу Immutable. В чем смысл Map, если Record имея все плюсы Map дает возможность избегать .set? Для чего мапу вообще тогда юзать?

Evgeny
22.05.2017
21:00:53
Они для разных вещей нужны
У рекорда обязан быть определённый набор полей

Google

Evgeny
22.05.2017
21:02:19
А мап — просто куча пар "ключ-значение"

KlonD90
22.05.2017
21:02:57
Такой вопрос. хочу какую-то штука которая понимает что текущий экшен приводит к невалидному стейту(есть например у меня валидатор простенький). То откатывает вообще текущий экшен и диспатчит какой-то другой ивент
в контексте redux

Mike
22.05.2017
21:04:50
миддлварину напиши, которая чекает экшен

Evgeny
22.05.2017
21:05:48
Ага

KlonD90
22.05.2017
21:07:05

Mike
22.05.2017
21:08:08
кажется, это нужно делать в редьюсере, а если его скоупа не хватает, ты что-то делаешь не так с данными

KlonD90
22.05.2017
21:10:22
ну он локальный (
типа в одном сабредьюсере
отменю
а в другом
ну ок сделаю мидлварю ._.

Evgeny
22.05.2017
21:13:46
В любом случае, если хочешь ещё что-то диспатчить, то редьюсер — не вариант

Google

KlonD90
22.05.2017
21:15:55
ну быть глоабльный то мог бы просто понять что сейчас ивент ломает все и тогда добавить ошибку вместо изменения стейта объектов

Evgeny
22.05.2017
21:23:15
А, так ты диспатчить только ради этого хочешь. Я думал, может ты инфу про ошибку в какой-нибудь rollbar будешь засылать
Тогда да, глобальный ок

KlonD90
22.05.2017
21:25:07
ну буду да.
const validateObjects = function (objects) {
const typesMap = Object.values(objects).reducer((r, x) => {r[x.type]? r[x.type]++ : r[x.type] = 1; return r;}, {});
if (typesMap['start'] > 1)
{
return ['Стартовых точек не может быть больше чем 1.'];
}
return [];
};
const validateObjectMiddleware = function (store) {
var dispatch = store.dispatch,
getState = store.getState;
return function (next) {
return function (action) {
if (typeof action === 'object') {
let state = getState();
let newState = objectsReducer(state.objects, action);
const validateErrors = validateObjects(newState);
if (validateErrors.length === 0)
return next(action);
else
return next({type: constants.SHOW_ERROR, text: validateErrors[0]});
}
return next(action);
};
};
};
пока как-то так решил


Andrew
22.05.2017
21:41:28
Коллеги, привет! Я на несколько месяцев выпадал из новых течений React/Redux, с января примерно. Кто может вкратце сказать (сослаться), что нового в Redux? (В частности, меня беспокоит вопрос: почему Дэн Абрамов радуется выпуску новой Create React App-тулзы, а внутри нее нет ничего про Redux?)

Dmitrii
22.05.2017
21:51:55
а почему он не должен этому радоваться?
обновилась клевая штука, он имеет к ней отношение, почему бы и нет

Andrew
22.05.2017
22:00:45
а почему он не должен этому радоваться?
Я не хочу сказать, что не должен. Я просто удивлен, что в реакт-скриптах нет ни слова про.. "верного компаньона" главного героя (я про redux). Странно, что нет никакой опции, добавляющей более-менее стандартные зависимости для redux.
Все же мой вопрос не отвечен

Dmitry
22.05.2017
22:03:00
Стандартные зависимости это сам redux?)

Dmitrii
22.05.2017
22:03:14
ты спросил меня беспокоит вопрос: почему Дэн Абрамов радуется выпуску новой Create React App-тулзы, я ответил
а зачем там нужно что-то про редакс? к чему мешать
на то они и react-scripts, а не redux-scripts

Andrew
22.05.2017
22:10:40

Dmitry
22.05.2017
22:11:01
Ну он довольно субъективный

Andrew
22.05.2017
22:11:48

Dmitrii
22.05.2017
22:12:43
вроде нет, все так

Dmitry
22.05.2017
22:12:59
Хороший способ, но далеко не все его используют

shadowjack
22.05.2017
22:17:23
Скажите а reselect актуален?

Google

Andrew
22.05.2017
22:18:33

Sergey
22.05.2017
22:21:00
Я ждал другого

Сергей
22.05.2017
22:27:13

Sergey
22.05.2017
22:27:59
Stickerbleed - уязвимость в телеграмме, показывающая дамп памяти через прозрачные стикеры.
(нет)

Andrew
22.05.2017
22:31:15
ими же легко выбирать данные. мемоизация как бонус

Oleg ?
22.05.2017
22:31:52
Это стикер, а не вопрос

code4aman
23.05.2017
05:50:51
а почему? вижу в recompose есть withState

Сергей
23.05.2017
06:07:44
Видели?
https://medium.com/@okonetchnikov/is-css-in-js-really-bad-for-ux-e9cce7b2da83

Dreamerinnoise
23.05.2017
06:22:07

Max
23.05.2017
06:26:51

Max
23.05.2017
06:27:18
пересядь на нормальный клиент — сто раз говорил )

Сергей
23.05.2017
06:29:43

Denis
23.05.2017
06:48:42
Всем приувет.
Подскажите каким образом в редакс можно подписаться на изменения только части стора, а не всего полностью и насколько вообще архитектурно правильно если в одном action будет подпись на часть ему не принадлежайшего стора

code4aman
23.05.2017
06:50:41
скорее наоборот, нужные тебе части стора "подписываются" на конкретные экшны
а экшны не знают про стор или редюсеры

Twix
23.05.2017
06:52:46
Всем привет! Недавно заморочился React + socket.io + nodejs.
Вопрос в следующем: по привычке хочется подключать пользюка через сокеты в отдельном скрипте, чтобы во всех Childs App было юзабельно socket.on() И socket.emit() без заморочек. Это не правильно?

Denis
23.05.2017
06:58:52

code4aman
23.05.2017
06:59:37
да, любой из офдоки

Google

code4aman
23.05.2017
07:01:25
это основы ридакса, диспач экшна инициирует юзер (для простоты) и он ни куда не подписывается
может путаница в терминах?

Denis
23.05.2017
07:04:07
не исключаю, ибо навертел апликуху не успев толком разобраться в доке и ваяю до дедлайна на лету.
вобщем subscribe() не гарантирует что слушатель получит обновленный стейт, тк срабатывает раньше dispatch()

Viktor
23.05.2017
07:04:43
А чем плохо передавать в компонент лишние пропс?

Admin
ERROR: S client not available

Viktor
23.05.2017
07:05:29
Запаривает удалять ненужные проперти

Dmitry
23.05.2017
07:05:52
А кто их туда добавил, что их приходится удалять?

Denis
23.05.2017
07:06:00
слегка запутался каким образом можно подписаться именно на изменения части хранилища ака store.filters и диспатчить какой нибудь fetch по этому событию

code4aman
23.05.2017
07:07:17

Viktor
23.05.2017
07:08:42
Контейнер принимает дополнительные свойства (типа функции фетча списка), которые не нужны дамб компоненту.
Приходится делать что-то типа такого
я делаю херню?

Dmitry
23.05.2017
07:11:51
Можно сделать вместо ...rest - itemProps какой-нибудь и его прокидывать, при этом точно в компонент ничего от контейнера лишнее не приедет

Viktor
23.05.2017
07:12:21

Alex
23.05.2017
07:12:47
Привет всем, есть тут нативщики? может кто рассказать что юзать в проекте для работы с хранением данных в локальной среде?

Dmitry
23.05.2017
07:13:30
@reactnative_ru

Denis
23.05.2017
07:14:58

Alex
23.05.2017
07:16:52
благодарю за канал

Oleg ?
23.05.2017
07:38:28

Alex
23.05.2017
08:42:38
Ребят а как называется эффект, когда весь сайт как будто слайдер.
ты опускешься вниз - и справа или слева находится навигация.
по слайдам
не могу вспомнить

Roman
23.05.2017
08:46:55
паралакс?

Google

Petr
23.05.2017
08:46:58
One page scroll ?

Konstantin
23.05.2017
08:47:56
слайдер пэйдж?

Lend
23.05.2017
08:49:03
affix?

Oleg ?
23.05.2017
08:49:16

Viktor
23.05.2017
09:30:10
Я что-то не пойму - graphQL это переизобретение odata?
http://www.odata.org/getting-started/basic-tutorial/#select

code4aman
23.05.2017
09:32:26
там как минимум не один ендпоинт, как в графкл

Viktor
23.05.2017
09:33:31
Это плюс?

code4aman
23.05.2017
09:33:36
и на мутации

Viktor
23.05.2017
09:34:07
на мутации?
пойду доку читать

code4aman
23.05.2017
09:35:25
одата почему-то не очень популярна была, хз почему
кроме .NET я и не слышал про нее нигде
разработчиками не используется, в смысле