@react_js

Страница 3866 из 5115
Dmitry
04.05.2018
17:36:19
это лесс

а не ксс

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
окей. про быстрое сравнение тоже соглашуьс плюс

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
Мы используем мемоизирующие селекторым с мутабельными данными пришлось бы сравнивать не ссылку на массив, а ВСЕ элементы массива и его значения
ну есть компонент, он зависит от двух значений в стейте, эти значения находятся на 6 уровне вложенности, другим компонентам важно знать что эти значения обновились - нет

если важно, то селектом мы подпишем вручную, ну и в чём смысл?

Nutscracker
04.05.2018
17:42:47
зачем ты вызываешь несуществующую функцию?
я опечатался...потом нашел ошибку.

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

Nutscracker
04.05.2018
17:43:40
зачем ты вызываешь несуществующую функцию?
меня интересует почему отладчик не показал мне мою ошибку непосредственно. Почему я должен угадывать и глазами искать ошибки

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
главное вовремя сделать forceUpdate
Forceupdate же не рекомендуется использовать

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
у тебя для мутабельности есть просто переменные класса
да мне всё равно нужно обновлять компонент после изменения, поэтому setState

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 ?

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

Vasil
04.05.2018
17:55:02
поменять параметры местами?: )
хорошая идея, спасибо :D

Valeriy
04.05.2018
17:55:06
create-subscription ?
иди спи :)

Alex
04.05.2018
17:56:01
create-subscription
хотя.....

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

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

сохраняя значения в провайдере в переменную класса

Alex
04.05.2018
18:02:00
ты это можешь сделать и через context api
форма которая предоставляет контекст должна будет перерисоваться, но. если будет мутабельность это становится не обязательно

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

чтоб в контексте поменялось значение, его же нужно отрендерить передав в проп новое

?

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

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