@react_js

Страница 4150 из 5115
Dmitry
11.06.2018
16:22:34
через геттеры и ключи

которые поменялись

но мне больше шеллоу нрав

Дмитрий
11.06.2018
16:23:05
когда форма стейта известна, то то что поменялось известно и так и shallow не нужен, а когда не известно так судить про данные юзера вообще нельзя

Google
Дмитрий
11.06.2018
16:24:38
Путь в итоге так и остаётся путём, даже в том пейпере он есть

Alex
11.06.2018
16:24:53
+ ещё один нюанс, если у меня будут только поля, то вложенных подписок быть не может, а если я добавлю ещё сабскрайбер на отдельные части стейта, то тут уже можно накуралесить вложенных подписок и как избежать множественных ререндеров я хз

Dmitry
11.06.2018
16:24:55


звучит как то что я решал

Дмитрий
11.06.2018
16:25:34
Есть нюансы

Alex
11.06.2018
16:26:13
Респект, не все доходят до этого этапа) Долго обдумывал?
как-то сразу по ходу разработки, мне нужно было сделать трансоформер данных, который из 1 изменения может сделать несколько и сразу в голову пришло реализовать подобие экшенов в редаксе, только вида { path: "user.id", value: 1 }

а подписки из этого вытекли сразу

Alex
11.06.2018
16:28:43
Я сделал так: просто начал добавлять в тот же path указания, мол, а теперь спускаемся в поле foo (обновилось типа именно оно)
мм, хорошая идея регистрировать в хай ордеред компоненте вложенные подписки а обновления спускать сверху вниз

Google
Dmitry
11.06.2018
16:31:17
в либе

не нужно никакого анализа графа и тд

Дмитрий
11.06.2018
16:31:56
Ну я рад, но не хочу, меня это просто не устраивает

Мне нужно решение на которое я могу рассчитывать всегда

Dmitry
11.06.2018
16:32:23
ну шеллоу иквалс 100% будет всегда работать)

Дмитрий
11.06.2018
16:32:56
Пока у тебя не появится nullable стор или функция

Дмитрий
11.06.2018
16:33:36
код при этом очень просто остается
Меня больше воодушевляет когда я вижу результаты бенчмарков

Dmitry
11.06.2018
16:33:59
state().map(el=> el.item).map(el=> ({ el%2 === 0 }))

в таком кейсе анализ графа не поможет

Дмитрий
11.06.2018
16:34:13
И то, когда удалённое управление puppeteer реализуется двумя функциями

Dmitry
11.06.2018
16:35:21
ну типа компьютейшино обычно намного больше чем данных в сторе

Alex
11.06.2018
16:35:33
типа (1) state.data (2) state.user.firstName (3) state.data.id (4) state.data.scope (5) state.user (6) state.user.firstName (7) state.user.lastName (8) state.user.id ход мыслей такой, если изменился state.data то мы ререндерим только компонент 1, если изменился state.user.firstName, то ререндерится два компонента (2,5) а если изменились state.user.firstName и state.data то ререндерим только (1 и 5) компонент

Dmitry
11.06.2018
16:35:35
а анализ графа не особо оптимайзит вычесления

Дмитрий
11.06.2018
16:35:45
А мне кажется иначе

Потому что у меня уже реализована фильтрация

Если не хочешь обновления — ничего не возвращаешь

Google
Dmitry
11.06.2018
16:37:41
это мне кажется мои тесты

Alex
11.06.2018
16:37:47
я просто не знал как реализовать стор для подписок, теперь знаю

Dmitry
11.06.2018
16:37:48
приходит список ключей

Дмитрий
11.06.2018
16:38:07
Если не хочешь обновления — ничего не возвращаешь
В этом и прикол, я не хочу указывать, что и как делать, я говорю как это можно решить Это эгоизм типа, настаивать на том что ты лучше юзера знаешь что и как он должен менять

Из этого кстати вытекает, что личный рост ты так же отрицаешь, так как ничего лучше shallow нет и он встроен по дефолту

Alex
11.06.2018
16:39:06
сейчас я просто пробегаю по общему массиву подписок и обновляю по списку, что сильно тормозит апдейт при большом количестве подписок, а в таком виде сложность будет ближе к линейной

@ZeroBias почему от нового контекста отказался? тип из за полного ререндера?

Дмитрий
11.06.2018
16:42:28
С ререндерами проблем не наблюдаю) Зря что ли столько времени алгоритм оптимизировал

Alex
11.06.2018
16:43:12
ну он удобен макимум чтобы прокинуть что-то в неизвестность, а так да, бесполезный p.s. ну в плане использования в стейт менеджерах

Cenator
11.06.2018
16:50:08
предупреждение, дальше ридонли

Alex
11.06.2018
16:50:32
а, ну ещё он удобен для будущего асинхронного рендеринга, можно на каждом вложенном контексте производить небольшие вычисления, типа сплитить. я так сделал валидацию, каждый контекст во время рендера добавляет ошибки валидации в общий стейт, что позволяет всегда иметь актуальные данные в конечном поле и разделить вычисления, типа от рендера формы до рендера поля прямой путь, без предварительных вычислений валидации, например, всей формы

Andrew
11.06.2018
16:50:59
Вот и настал этот замечательный момент когда и я начал собирать компоненты из конфига который приходи с бэка ?

Alexey
11.06.2018
17:12:34
Привет, кто знает как отследить вызов функции при нажатии на кнопку?

Cenator
11.06.2018
17:12:45
дебаггер?

Alexey
11.06.2018
17:13:44
дебаггер?
хромовский?

стандартный?

Cenator
11.06.2018
17:13:50
да

debugger написал и все

Vadim
11.06.2018
17:46:51
Повесь брейкпоинт на click

Google
Vadim
11.06.2018
17:47:12
В инспекторе в хроме

Alexey
11.06.2018
17:47:14
А как вызвать функцию?

Cenator
11.06.2018
17:47:41
Alexey
11.06.2018
17:47:47
да

Timur
11.06.2018
17:48:23
Народ, как мне установить альфа версию create-react-app v2 если у меня уже установлена стабильная версия глобально? Хочу попробовать CSS Modules

Admin
ERROR: S client not available

Timur
11.06.2018
17:48:34
c npm

Alexey
11.06.2018
17:48:48
если я нажимаю на кнопку, ничего не происходит, просто кнопка нажимается

нужно событие перехватить или функцию

Alexey
11.06.2018
17:49:48
Значит, обработчика нет
а как оно без обработчика работает?

Oleg
11.06.2018
17:50:48
а как оно без обработчика работает?
Откуда я знаю? Я же не Ванга. Если прописан debugger; то отладчик бы остановил дальнейшее выполнение

Shemil
11.06.2018
18:03:12
а как оно без обработчика работает?
Хм... А где кавычки вокруг функций?

Alexey
11.06.2018
18:03:48
это ж реакт

в вотсапе

мне нужно написать бота для вотсап

который кнопку нажимает

Shemil
11.06.2018
18:04:14
Аааа

Google
Artem
11.06.2018
18:10:44
который кнопку нажимает
Что-то не совсем понятно. Ты хочешь чтобы по клику вызывалась функция fn?

Artem
11.06.2018
18:13:54
http://qaru.site/questions/379900/how-do-i-simulate-browser-events-when-writing-tests-for-react-js

VS JS
11.06.2018
18:26:38
handleChange = e => { const { value } = this.state; const val = e.target.value; this.setState({ value: val }, () => { this.changeSearch(val); }); }; - наверняка я туплю, но все же не могу понять почему не работает. Value не видно в сетСтейте

Cenator
11.06.2018
18:27:57
В constructor добавил стейт?
Не обязательно в данном случае

Narek
11.06.2018
18:28:18
Стоит попробовать раз не понятно

VS JS
11.06.2018
18:28:28
В constructor добавил стейт?
да. скинул в ЛС код.

Anna
11.06.2018
18:34:19
да. скинул в ЛС код.
лучше бы сюда

VS JS
11.06.2018
19:12:19
с божбей помощью удалось почти довести до ума, но в инпут ничего нельзя ввести

почему то не рендерится



Сергей
11.06.2018
19:12:43
Как же много любителей экспорт дефолт

VS JS
11.06.2018
19:13:59
за бугром так пишут. сам я не любитель

Тимофей
11.06.2018
19:14:02
Как же много любителей экспорт дефолт
Потому что везде он, в либах, в учебных материалах.

Тимофей
11.06.2018
19:14:58
Но он не нужен
Так это ты знаешь) надо всем рассказывать

Oleg
11.06.2018
19:15:04
Сергей
11.06.2018
19:15:31
Так это ты знаешь) надо всем рассказывать
Да вот. Немного коснусь на докладе

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