
Anton
06.06.2018
06:41:21

Сергей
06.06.2018
06:41:50

Demuz
06.06.2018
06:41:59
И вот это еще
http://blog.csssr.ru/2018/04/06/new-react-context
Понял понял. Даже не нужно тысячу раз проброс делать с компонента в компонент, а просто сделать контекс. Класно, спасибо. Ну правда, жаль у меня пока нет такой необходимости, так как компоненты и так смотрят в стор и могут переназначать переменные и прочее оттуда.

Anton
06.06.2018
06:42:14

Google

Сергей
06.06.2018
06:42:33
количество consumer’ов контекста повышает количество компонентов, а соответственно время на рендер

Anton
06.06.2018
06:43:19
Контрол клик на контексте - перешел в область определения, альт+ф7 на провайдере - увидел где он задается

Сергей
06.06.2018
06:44:09
лол

Demuz
06.06.2018
06:44:09

Anton
06.06.2018
06:44:26

Сергей
06.06.2018
06:44:32

Anton
06.06.2018
06:45:13

Сергей
06.06.2018
06:45:39
и это вообще ничего не обосновывает
ибо механизмы контекста вообще за пределами реакта

Anton
06.06.2018
06:46:21
typeof Compoenent === function
typeof Consumer === object
Их совершенно паралельные куски кода рендерят, как и порталы

Google

Сергей
06.06.2018
06:47:07
и

Anton
06.06.2018
06:47:54
И не надо сильно вложености боятся
Лишние замыкания - да, могут быть не приятными, но все познается в сравнении

Сергей
06.06.2018
06:48:16
не надо таких советов давать, плиз

Alexander
06.06.2018
06:48:42

Anton
06.06.2018
06:49:18
Кстати, насчет вредных советов - https://medium.com/@charpeni/arrow-functions-in-class-properties-might-not-be-as-great-as-we-think-3b3551c440b1
Графики там самый сок

Demuz
06.06.2018
06:50:31
Покажешь пример ошибки?
Что-то не выходит )))) Удалил конструктор и все так же работает )))) И пропсы нормально принимает.

Сергей
06.06.2018
06:50:37
ни о чем
учитывая, что нам приходится в рендере либо стрелки писать, либо .bind

Anton
06.06.2018
06:51:13

Сергей
06.06.2018
06:51:25
вообще мимо

Artyom
06.06.2018
06:51:38

Demuz
06.06.2018
06:51:39

Anton
06.06.2018
06:51:47
Ну для 99,9 случаев 28 тысяч операция в секунду это выше круши

Сергей
06.06.2018
06:51:51
посчитай перфоманс, если уж на то пошло:
- создать одну стрелку на компонент
- создавать стрелку на каждый рендер
- биндить функцию на каждый рендер

Demuz
06.06.2018
06:52:11

Artyom
06.06.2018
06:52:15

Alexander
06.06.2018
06:52:23
Ого. Это как так?
Ну до 16.3 контекст был экспериментальной фичей и его не рекомендовали вообще к применению, если ты не разбираешься в ней

Google

Artyom
06.06.2018
06:52:29

Max
06.06.2018
06:52:50
старый контекст имеет проблемы

Artyom
06.06.2018
06:53:08

Anton
06.06.2018
06:53:11

Сергей
06.06.2018
06:53:20

Max
06.06.2018
06:53:26
напримерм контекст не обновляется если ты в родительском компоненте shouldDcomponentUpdate = false сделаешь

Roman
06.06.2018
06:53:46
бабель тебе к конструктор пишет arrow функции и биндит их

Cenator
06.06.2018
06:53:59

Anton
06.06.2018
06:54:00

Сергей
06.06.2018
06:54:25
какой смысл в бинде?

Artyom
06.06.2018
06:54:38

Roman
06.06.2018
06:54:49
кароче я про то, что если ты пишешь handle = () => то в сборке будет constructor () {
this.handle = this.handle.bind(this)}

Artyom
06.06.2018
06:54:53

Anton
06.06.2018
06:54:56
Object.defineProperty там
Он их в конструктор просто переносит, а потом возможно переделывает arrow в обычные, заменя все this на _this%N
Это не то, они остаются динамическими

Artyom
06.06.2018
06:55:17

Max
06.06.2018
06:55:27
до нового еще руки не дошли

Сергей
06.06.2018
06:55:29

Max
06.06.2018
06:55:33
но вроде обещали это поправить

Alexander
06.06.2018
06:55:38
чито чито
Больше бабель плагинов богу Бабель плагинов

Google

Roman
06.06.2018
06:55:53

Demuz
06.06.2018
06:55:58
Потому что см. главу Проблемы старого контекста
В старой версии если на определённый контекст подписан и родитель — componentA, и его непосредственный потомок — componentB, то при обновлении контекста нужно произвести обновление их обоих. Из-за этого componentA обновится 1 раз, а componentB два раза: сначала из-за обновления родителя componentA, а потом из-за обновления самого контекста (т.к. компонент на него подписан). Вы про эту проблему говорили?

Roman
06.06.2018
06:56:04
хуево, когда не знаешь экосистему

Anton
06.06.2018
06:56:06
Тело функции будет в прототипе, остается только прибить контекс исполнения

Artyom
06.06.2018
06:56:12

Max
06.06.2018
06:56:30
ну я на выхах если будет время свой стейт-менеджер попробую на новый контекст переписать

Сергей
06.06.2018
06:56:42

Max
06.06.2018
06:56:45
но я в вообще забил хуй и шину событий свою запилил

Admin
ERROR: S client not available

Artyom
06.06.2018
06:56:51

Demuz
06.06.2018
06:57:14
да
Так юзая мобикс у меня нет такой проблемы. В текущей ситуации все обновятся всего 1 раз.

Artyom
06.06.2018
06:57:22

Max
06.06.2018
06:57:36
нука нука?
да чо нуканука
взял signals.js и заебись

Anton
06.06.2018
06:57:44
хуево, когда не знаешь экосистему
Хуево когда не знаешь как бабель работает.
“Стрелочная функция” в классе это класс проперти, он их просто КОПИРУЕТ из body в констуртор,
А потом совершенно другой плагин может стрелочную функцию превратить в обычную
Надо же class property на основе стрелочной функции переделать в class method, и добавить bind код в конструктор.
Совершенно другая операция

Artyom
06.06.2018
06:58:44

Valeryi
06.06.2018
07:02:02
Всем привет, приходят данные в компонент, через connect, и компонент анмаунтится при получении новых данных, можно ли этого избежать?

Ruslan
06.06.2018
07:02:07

Roman
06.06.2018
07:03:07

Сергей
06.06.2018
07:03:27
так ребятки

Google

Сергей
06.06.2018
07:03:34
это ложь

Roman
06.06.2018
07:04:03
вас на работе заставляют в яндекс браузере сидеть?

Сергей
06.06.2018
07:04:25

Roman
06.06.2018
07:04:48
из тестов не особо заметно будет

Max
06.06.2018
07:04:54

Сергей
06.06.2018
07:05:05

Max
06.06.2018
07:05:15
м

Anton
06.06.2018
07:05:22
И ссылку на jsperf

Сергей
06.06.2018
07:05:23
https://jsperf.com/arrow-vs-proto-bind-in-class/1

Valeryi
06.06.2018
07:05:46
help
Всем привет, приходят данные в компонент, через connect, и компонент анмаунтится при получении новых данных, можно ли этого избежать?

Roman
06.06.2018
07:05:59

Сергей
06.06.2018
07:06:19

Max
06.06.2018
07:06:21
смотри выше что у тебя может анмаунтить
лоадинг какой