@react_js

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

тут банально обновляется visibleToAdminsOnly:

а кода на 15 строк

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
seamless-immutable
нужен ие 11

:(

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
всем советую попробовать lodash/fp/flow, если вы в 2017 году еще используете _(array).some().chaining()
А почему считаешь это лучше? flow(map(...), filter(...), reduce()) пройдет по массивам три раза с создание промежуточных, а chaining уложится в один.

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

Max
22.03.2017
16:23:31
Эм, а я не очень понял как chain будет тянуть?

а flow нет

там же выборочно как выше заметили импортируется

Pavel
22.03.2017
16:24:24
Эм, а я не очень понял как chain будет тянуть?
ну, _(array).filter() что возвращает?

Max
22.03.2017
16:24:40
array

Pavel
22.03.2017
16:25:04
array
а вот и нет )

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
да не в этом суть

Страница 1111 из 5115