
? ethorz
13.01.2017
12:58:04
чем тебе let a не угодил?)

Sergey
13.01.2017
12:58:10
?

? ethorz
13.01.2017
12:58:24
как будешь рефакторить - поправишь
почитай про Object.assign

Google

Sergey
13.01.2017
12:59:12
ну он делает поверхностную копию
я знаю

Дмитрий
13.01.2017
13:00:03

Aleksey
13.01.2017
13:00:26
ну, это если у тебя payload одинаковый

Sergey
13.01.2017
13:00:35
походу я так и останусь с костылями)

Aleksey
13.01.2017
13:00:36
хотя у тебя же state меняется. тогда не

Дмитрий
13.01.2017
13:00:50
Вот и я задумался)

Sergey
13.01.2017
13:01:12
вот рабочий вариант - заюзаю его, пока других вариантов нет(

Aleksey
13.01.2017
13:01:50
flow, в целом, такие вещи решает. ну или просто reduce - тут без затей

Дмитрий
13.01.2017
13:02:15
const convolveReducers = payload => (store, reducer) => reducer(store, payload);
export const reduceSequence = (...reducers) =>
(store, payload) => reducers.reduce(convolveReducers(payload), store);
Рабочий вариант выглядит так. Но просто мне кажется что, это должна быть известная операция

Sergey
13.01.2017
13:02:22
что за flow?

Дмитрий
13.01.2017
13:02:27
Чтобы не тащить лишние строчки в проект

Sergey
13.01.2017
13:02:48
это либа?

Google

Sergey
13.01.2017
13:03:05
просто не понимаю о чем речь
ааа, вы про ф-цию лодаш)

Сергей
13.01.2017
13:21:37
Жуть
Есть recompose и redux
Зачем так сложно

Sergey
13.01.2017
13:30:29

Сергей
13.01.2017
13:31:08
кидаешь в redux
и редюсерами обновляешь только то, что нужно

Aleksey
13.01.2017
13:31:19
да и, вообще, вынести логику в редьюсеры а не засорять компоненты

Сергей
13.01.2017
13:31:32

Sergey
13.01.2017
13:31:35
да и как бы суть редукса это переносить инфу из компонента в копонент и перерендривать. А у меня эта инфа только в одном компоненте используеться

Aleksey
13.01.2017
13:32:08
сделай контейнер с встроенным редьюсером. recompose позволяет

Sergey
13.01.2017
13:32:29
рекомпос не умею

Сергей
13.01.2017
13:32:45

Sergey
13.01.2017
13:33:22
?
гуглил
не понимаю идею

Сергей
13.01.2017
13:34:08
HOC - главная идея

Yan
13.01.2017
14:23:23
пагни
хелпаните

Google

Yan
13.01.2017
14:23:23
короче
напердолил я реакт роутер
http://188.134.88.165/
так вот
есть компонента Thread
render(
<Router history={browserHistory}>
<Route path='/' component={MainPage}>
<Route path='threads/:threadId' component={Thread} />
</Route>
</Router>,
document.getElementById('root')
);
код App.js выглядит так
ссылка в браузере меняется, все норм, но визуально нихуя не меняется
дом не меняется
запрос на сервер по ид треда не поступает
я где-то что-то проебал,но не могу понять
у меня 2 варианта: либо на запрос треда отсылать отдельный хтмл с компонентой треда

Yan
13.01.2017
14:24:07
либо через реакт роутер работать с этим дело
отбой, разобрался

(;¬_¬)
13.01.2017
14:31:20
когда пытаешься придумать шутку?

Sergey
13.01.2017
14:43:15
подскажите пожалуйста реакт-компонент для создания вот такого слайдера https://monosnap.com/file/R4zFWzsd0esFGQFfHLZMncjz25FS3a

k
13.01.2017
14:50:40
https://github.com/react-component/slider

Aleksey
13.01.2017
14:50:43
пользовал react-nouislider. но он, имхо, оверкилл слегка под такие задачи

Sergey
13.01.2017
14:55:41
спасибо большое

Nikita
13.01.2017
15:57:30
const map = new Map();
// ...
map.forEach((value, key) => {
if (value < 0) {
map.delete(key);
}
});

Google

Nikita
13.01.2017
15:57:34
говнокод, или норм?

Nikita
13.01.2017
16:03:55
вроде норм

Igor
13.01.2017
16:04:16
let arrMod = arr.filter(value => value > 0)

Nikita
13.01.2017
16:04:23
модификация коллекции во время итерации норм?

Nikita
13.01.2017
16:04:49

Igor
13.01.2017
16:05:56
А да, чет не посмотрел.

Vladimir
13.01.2017
16:06:00

Admin
ERROR: S client not available

Vladimir
13.01.2017
16:06:08
А то так у тебя мутаци

Gordey
13.01.2017
16:06:16
тоже подумал про filter

Nikita
13.01.2017
16:06:23
а мне и нужны мутации

Gordey
13.01.2017
16:06:47
и что это immtable.Map

Nikita
13.01.2017
16:07:20
не, es Map

Vladimir
13.01.2017
16:07:42
Ты можешь получить новую изменённую коллекцию

Nikita
13.01.2017
16:07:43
filter в ES6 Map нет

Vladimir
13.01.2017
16:08:03
Не мутирая старую копию
Мб нет, но суть таже
Это итератор?

Nikita
13.01.2017
16:08:44
можно, но человеку нужна мутация
вопрос в том, нормально ли в такой ситуации отработает forEach

Vladimir
13.01.2017
16:08:47
как вариант
class PositiveNumberMap extends Map {
constructor(values = []) {
super();
values.forEach(value => this.set(value));
}
set(key, value) {
if (value > 0) {
super.set(key, value);
}
}
}

Google

Vladimir
13.01.2017
16:09:08
или так еще хуже?)

Nikita
13.01.2017
16:09:25
лол, еще раз)) мне не нужно иммутабельную коллекцию
вопрос был исключительно норм ли мутировать Map/Set во время итерации
те есть там Object.keys() и по ним итерация - это норм

Vladimir
13.01.2017
16:09:59
For each конечно норм работает

Mikhail
13.01.2017
16:10:04
Mapping and filtering
You can map() and filter() arrays, but there are no such operations for maps. The solution:
- Convert the map into an array of [key,value] pairs.
- Map or filter the array.
- Convert the result back to a map.

Nikita
13.01.2017
16:10:38

Gordey
13.01.2017
16:10:44
map.entries().filter?)

Vladimir
13.01.2017
16:10:53
Вопрос в том, хочешь ли ты мутацию или нет. Лично я всегда стараюсь их избегать

Nikita
13.01.2017
16:11:22
я ХОЧУ мутацию))
хз зачем их везде избегать

Gordey
13.01.2017
16:11:58
тайм тревел

localvoid
13.01.2017
16:12:00

Nikita
13.01.2017
16:12:05
раскрою секрет - внутри иммутабельных структур находятся, О БОЖЕ!!!! мутабельные!!!

Михаил
13.01.2017
16:12:58
const map = new Map([['a', -1], ['b', 2]]);
const entries = map.entries();
const fEntries = Array.prototype.filter.call(Array.from(entries), ([key, value]) => value >= 0);
const newMap = new Map(fEntries)
console.log(newMap);

Vladimir
13.01.2017
16:13:04

Михаил
13.01.2017
16:13:25
а почему если убрать Array.from(), то не работает?
const fEntries = Array.prototype.filter.call(entries, ([key, value]) => value >= 0);
вот так