
Dmitry
04.05.2018
17:36:19
это лесс
а не ксс

Artyom
04.05.2018
17:36:26

Dmitry
04.05.2018
17:36:30
я тему конфигурил

Google

Dmitry
04.05.2018
17:36:40
и лесс щаимпортил

Artyom
04.05.2018
17:36:42

Dmitry
04.05.2018
17:36:49
плагин ток с ксс работает
если без темы

Valeriy
04.05.2018
17:37:14
400, жесть
хз я пишу только энтерпрайз приложения, мне плевать на размеры :)))

Alex
04.05.2018
17:37:16
окей. про быстрое сравнение тоже соглашуьс плюс

Artyom
04.05.2018
17:37:32
Но не все так же

Valeriy
04.05.2018
17:38:05
тем более если речь о статике, которая разок грузонулась и все

Alex
04.05.2018
17:38:50
вот только мы всё раво юзаем селекты чтобы выбрать только те состояния что влияют на конкретный компонент, полное изменение по пути к изменившемуся значению нам не часто нужно

Nutscracker
04.05.2018
17:39:11
Не понимаю почему вылезает именно такая ошибка ReactDOMTextComponent.js:137 Uncaught (in promise) TypeError: Cannot read property 'nextSibling' of null.
вот такой кусочек кода, вызываю дочерний компонент передаю из redux автора и вспомогательные флажки и функции из текущего компонента. http://prntscr.com/jdrumw . Ошибка возникает если в дочернем компоненте я вызываю не существующую функцию.

Alex
04.05.2018
17:39:30
это актуально когда закинул в компонент стейт и потом пропами раскидал в детей стейт
а если подписка отдельная у каждого, то смысл теряется

Google

Artyom
04.05.2018
17:40:00

Alex
04.05.2018
17:40:12
все равно получается что мы стараемся подписать компоненты на их конкретные данные а не на поддеревья

Artyom
04.05.2018
17:40:34
Поэтому я написал либу с приоритетом на подписку ?

Alex
04.05.2018
17:41:19
если важно, то селектом мы подпишем вручную, ну и в чём смысл?

Valeriy
04.05.2018
17:42:16
разве не учат сначала проверять параметры, потом их использовать?

Nutscracker
04.05.2018
17:42:47

Alex
04.05.2018
17:43:13
короче всё же иммутабельность для быстрого сравнения +- в некоторых кейсах подходит, но по большей части избыточно

Nutscracker
04.05.2018
17:43:40

Valeriy
04.05.2018
17:43:44

Alex
04.05.2018
17:43:59

Valeriy
04.05.2018
17:44:08
откуда вообще вся эта иммутабельность поперла
когда у тебя функции чистые
их очень легко распаралелить при выполнении

Alex
04.05.2018
17:44:29
так я и хочу узнать
когда у тебя функции чистые
а при чём тут иммутабельность? разве в чистой функции не должны данные в скопе находиться?
типа получил одно, вернул другое

Valeriy
04.05.2018
17:45:19
вот я же выше приводил пример уже
входящий параметр не должен изменяться изнутри

Google

Alex
04.05.2018
17:46:00
так я о том же

Valeriy
04.05.2018
17:46:07
вызывая y = f(x), у тебя х внутри не должен поменяться

Alex
04.05.2018
17:46:16
но я допускаю изменение мутабельно, когда мы применяем данные к стейту

Nutscracker
04.05.2018
17:46:31
мутабельность приводит к сложно отлавливаемым ошибкам

Alex
04.05.2018
17:46:52
согласен

Valeriy
04.05.2018
17:47:21
@Wrouds ну слушай, если ты про this.state, то делай с ним что хочешь/сможешь
главное вовремя сделать forceUpdate

Artyom
04.05.2018
17:47:41
жуть какая-то

Alex
04.05.2018
17:47:49
не, я буду вызывать .setState и там применять патч

Valeriy
04.05.2018
17:47:54
ну да это крайность, но если надо человеку :)))

Abu
04.05.2018
17:48:07

Alex
04.05.2018
17:48:09
у меня будет мутабельный каркас и иммутабельные значения

Valeriy
04.05.2018
17:48:41

Alex
04.05.2018
17:48:43
т.е. макимальная ошибка, это если у меня вместо одного значения получилось другое в одном месте

Artyom
04.05.2018
17:48:48
Реакт под капотом рассчитывает на чистые функции, потому что ему нужно иметь возможность вызывать их несколько раз и при этом не словить сайд эффект, т.к. вся цепочка работы может быть отменена

Valeriy
04.05.2018
17:48:55
никто не запрещает тебе сделать свой locaState рядом со state
и рулить им как хочешь

Alex
04.05.2018
17:49:10

Valeriy
04.05.2018
17:49:23
сделай свой setLocalState
я вот лично так и сделал

Google

Vladimir
04.05.2018
17:49:37
Омг

Artyom
04.05.2018
17:50:05
@Wrouds
Вообще, забудь про стейт компонента, используй собственное хранилище и https://github.com/facebook/react/tree/master/packages/create-subscription
Это будет самым тру вариантом

Alex
04.05.2018
17:50:30
вообще я видимо не до конца донёс свою мысль

Artyom
04.05.2018
17:50:51
Не трогай стейт

Valeriy
04.05.2018
17:51:06
не до того конца

Artyom
04.05.2018
17:51:23
Почему? Потомучто это рекомендации мейнтейнеров библиотеки которую ты используешь - React.js

Valeriy
04.05.2018
17:51:56
эти рекомендации разработали не дураки
рекомендации расчитаны на массы
не на гениев

Vasil
04.05.2018
17:52:09
в immutable js как можно реализовать merge объектов, чтобы если у 1-го объекта был ключ-значение, 2-ой его не затирал?

Alex
04.05.2018
17:52:14

Artyom
04.05.2018
17:52:26
create-subscription - ответ на все вопросы
create-subscription
Еще раз, create-subscription
Все, я спать пошел

Nutscracker
04.05.2018
17:52:49
а вообще мутабельность в яваскрипте запилили чтобы ускорить работу

Valeriy
04.05.2018
17:53:02
тебе не нужен this.state
сделай свою параллельную вселенную рядом типа this.localState

Google

Alex
04.05.2018
17:53:40
почему? чем мне переменная state не подходит?

Artyom
04.05.2018
17:53:50
Да даже this не нужен, на create-subscription можно все функционально разрулить

Alex
04.05.2018
17:54:02
ХАХАХАХАХ

Artyom
04.05.2018
17:54:04
create-subscription ?

Valeriy
04.05.2018
17:54:39

Alex
04.05.2018
17:54:45
мне не нужна подписка, у меня есть стейт, я его меняю где нужно и рисую по нему компоненты

Vasil
04.05.2018
17:55:02

Valeriy
04.05.2018
17:55:06

Alex
04.05.2018
17:56:01
вообще отличная наводка, возможно получится сделать форму где поля будут обновляться без перерисовки формы с валидацией и трансформациями

Valeriy
04.05.2018
18:01:12
прокидываешь в контекст метод и при срабатывании в инпутах onChange вызывать его
сохраняя значения в провайдере в переменную класса

Alex
04.05.2018
18:02:00

Valeriy
04.05.2018
18:02:02
никакого ререндеринга

Alex
04.05.2018
18:03:16
никакого ререндеринга
так мне нужно
новое значение => трансформация в новые значения для нескольких полей => валидация => отрисовка изменившихся полей и полей чьи ошибки изменились
чтоб в контексте поменялось значение, его же нужно отрендерить передав в проп новое
?

Valeriy
04.05.2018
18:05:12
тебя сложно понять