
Max
22.03.2017
16:05:10
const newState = {
...state,
widgets: {
...state.widgets,
[widget.id]: {
...widget,
settings: {
...widget.settings,
visibleToAdminsOnly: !widget.visibleToAdminsOnly
}
},
},
};
как сократить количество этой ебанины™?
тут банально обновляется visibleToAdminsOnly:
а кода на 15 строк

Quet
22.03.2017
16:05:43

Google

Alexander
22.03.2017
16:05:49
Ща тебе immutable посоветуют

Ostap
22.03.2017
16:05:49
mobx ?)))

Max
22.03.2017
16:05:50
спасибо

Alexander
22.03.2017
16:05:59
Или линзы )

Quet
22.03.2017
16:06:12
о

Max
22.03.2017
16:06:14
и рамду

Alex
22.03.2017
16:06:15
seamless-immutable

Quet
22.03.2017
16:06:17
ждал кто первый посоветует линзы

Max
22.03.2017
16:06:52
:(

Alexander
22.03.2017
16:07:22

Evgeny
22.03.2017
16:08:21
Слушай, в лоудэше есть

Max
22.03.2017
16:08:25
```
over(compose(mapped, mapped, mapped, name), toUpper, Task.of(Maybe.of([user])))
```

Google

Evgeny
22.03.2017
16:08:33
Это скала?

Max
22.03.2017
16:08:38
сорян, я это не осилю после 15 лет ООП :(
это JS
с рамдой
https://medium.com/@drboolean/lenses-with-immutable-js-9bda85674780#.xho5x8jil
ну в принципе норм
подводные камни?
еще нашел https://github.com/debitoor/dot-prop-immutable
во
http://stackoverflow.com/questions/35592078/cleaner-shorter-way-to-update-nested-state-in-redux
кому интересно

Quet
22.03.2017
16:13:04
в итоге все ж immutablejs

Max
22.03.2017
16:13:11
походу
вот и повод затестить

Pavel
22.03.2017
16:13:16
не очень понятно к чему это все

Evgeny
22.03.2017
16:13:35
Так в лоудеше есть обновление по path

Max
22.03.2017
16:13:48

Pavel
22.03.2017
16:13:50
set

Evgeny
22.03.2017
16:13:52
Ofc
Щас

Google

Pavel
22.03.2017
16:14:09
set(a, 'b.c.d.e.hui', 2)

Evgeny
22.03.2017
16:14:11
https://lodash.com/docs/#set
Да

Max
22.03.2017
16:14:23
сет да

Pavel
22.03.2017
16:14:27
set(a, ['a', 'b', 'c'], 2)

Max
22.03.2017
16:14:44
главное не забыть что "Note: This method mutates object"
и на копии делать

Pavel
22.03.2017
16:14:53
вот в этом минус
иммьютабл круче в этом плане

Evgeny
22.03.2017
16:15:20
https://github.com/lodash/lodash/wiki/FP-Guide
?
import set from 'lodash-fp/set'?

Max
22.03.2017
16:16:50
return _.set({...state}, 'a.b.c', true)
и не надо fp тащить
:)

Evgeny
22.03.2017
16:17:08
Ну или так
Он всё равно модульный

Max
22.03.2017
16:17:22
слушай
ну там эта модульность такая в себе
взял partialRight

Google

Max
22.03.2017
16:17:35
он 30кб
с зависимостями

Pavel
22.03.2017
16:17:42
всем советую попробовать lodash/fp/flow, если вы в 2017 году еще используете _(array).some().chaining()

Max
22.03.2017
16:17:57
а самому функцию написать - 3 строчки
но оптимизацией позже буду заниматься

Pavel
22.03.2017
16:18:32
нет
flow переводится как поток, а не как "та самая штука в жс ну там это как тайпскрипт"

Max
22.03.2017
16:19:02
у меня с инглишом все ок, уточняю

Admin
ERROR: S client not available

Quet
22.03.2017
16:19:34
я тож подумал на эту фейсбучную попытку втащить типы в js

Pavel
22.03.2017
16:19:59
ну это ведь путь в лодаше, просто каждый раз приходится говорить что это не тот самый флоу))

Alexander
22.03.2017
16:20:27
А как мне сохранять промежуточные значения? Допустим я ввёл логин и следующим шагом я заполняю что-то другое

Max
22.03.2017
16:20:29
прост по упоминанию флоу фб > флоу _ :)

Alexander
22.03.2017
16:21:07
Желательно чтобы я это сразу передал на бекенд и это там тёрлось. Смотрел в сторону socket.io, но что-то меня в нём усомнило

Max
22.03.2017
16:21:18
чего?
промежуточные значения чего
где сохранять?
если ты про визарды то какой-нибудь http://redux-form.com/6.0.0-alpha.6/examples/wizard/

Pavel
22.03.2017
16:21:59

Google

Alexander
22.03.2017
16:22:47
На фронте я ввёл логин. На следующей странице я ввожу текст. И вот я хочу отослать логин на бекенд и это там жило. А когда я отправляю текст, то бекенд уже сам знал, какой у меня логин был введен

Pavel
22.03.2017
16:23:04

Max
22.03.2017
16:23:31
Эм, а я не очень понял как chain будет тянуть?
а flow нет
там же выборочно как выше заметили импортируется

Alexander
22.03.2017
16:23:50

Pavel
22.03.2017
16:24:24

Max
22.03.2017
16:24:40
array

Алексей
22.03.2017
16:24:52

Pavel
22.03.2017
16:25:04

Max
22.03.2017
16:25:14
array-like структуру?
я не смотрел сорцы
пойду доку гляну, чтобы идиотом совсем не выглядеть
Returns
(Array): Returns the new filtered array.
ну да
array

Pavel
22.03.2017
16:26:13
фильтр возвращает массив
а _(array).filter() возвращает не массив

Max
22.03.2017
16:27:05
а, тут функцию фильтрации
над массивом
туплю

Pavel
22.03.2017
16:27:41
да не в этом суть