@react_js

Страница 583 из 5115
Alexander
27.10.2016
04:24:22
Каким образом?

Pavel
27.10.2016
04:24:46
что у тебя не див с забинденным айдишником в онклик а listitem

Alexander
27.10.2016
04:26:23
Для того, чтобы нормально бить на компоненты отказываться от bind не нужно

Nikita
27.10.2016
04:26:30
Не надо байнлидь в рендере, даже будучи противником преждевременной оптимизации
я в виртуальный дом не залезал, и незнаю что произойдёт при перендеринга компонента у которого в render есть bind в отличии от случая когда этот bind где то в другом месте, если вы знаете как работает этот механизм то поделитесь пожалуйста

Google
Alexander
27.10.2016
04:26:48
bind создает новую функцию

Каждый рендер

shouldComponentUpdate сломается об это (при том, что функция по факту будет как бы таже)

Paul
27.10.2016
04:27:21
Да

Nikita
27.10.2016
04:27:57
инфа 100% ? в коде кто это может показать ?

Paul
27.10.2016
04:28:06
Это же просто javascript, не нужно искать там что-то в реакте

Nikita
27.10.2016
04:28:19
:facepalm:

Pavel
27.10.2016
04:28:30
Alexander
27.10.2016
04:28:50
function a() {} a.bind(null) !== a.bind(null);

Nikita
27.10.2016
04:32:21
да спасибо это более убедительно

Alexander
27.10.2016
04:33:29
Завабно, как первые полтора года с реактом все байндили и в ус не дули, потом пара чуваков сказали, что зис из бэд фо перформанс и теперь из каждого утюга про плохой байнд. Это так, личное наблюдение.

Google
Pavel
27.10.2016
04:33:38
но честно говоря, даже при работе с гиблыми проектами с большим количеством таких байндов, проблем с производительностью не замечал

Alexander
27.10.2016
04:34:46
О чем и речь

Alexander
27.10.2016
04:35:25
первые полтора года был React.createClass({ и ничего с ним не байндили в рендере)
Ну я могу промахнуться во временных рамках, но год с классами точно воя не было

Pavel
27.10.2016
04:36:01
Завабно, как первые полтора года с реактом все байндили и в ус не дули, потом пара чуваков сказали, что зис из бэд фо перформанс и теперь из каждого утюга про плохой байнд. Это так, личное наблюдение.
видимо люди посто решили не повторять опыт ангуляра, когда доки используют понятия, которые может не знать чувак, обучающийся по видеоурокам. многие джуны то не в курсе как bind работает, и уж тем более не связывают это с ухудшением производительности при использовании в render

т.е. если человек знает, почему это плохо - пусть пользуется сколько хочет, видимо он знает что это сейчас продуктивнее. если не знает, то лучше предостеречь

Alexander
27.10.2016
04:37:11
Может еще доку по JS туда сразу написать? :-)

Leonid
27.10.2016
04:37:27
Ну я могу промахнуться во временных рамках, но год с классами точно воя не было
На самом деле соглашусь, деградация перформанса очень незначительна, ей даже пренебречь можно. Скорее просто хорошая практика. Тем более стрелочные функции сейчас есть, так что заменяется довольно безболезненно.

Alexander
27.10.2016
04:38:24
Да, вот тоже ржу, когда байнд на arrow заменяют

При этом, если забиндить так: constructor(props) { super(props); this.handleClick = this.handleClick.bind(this); } еще и хот-релоад обломается

Leonid
27.10.2016
04:39:05
но ведь стрелочные функции на перфомансе абсолютно так же отражаются
конструктор один раз вызывается при инициализации компонента, а при байнде внутри рендера функция пересоздается каждый раз -> gc работает больше

Leonid
27.10.2016
04:40:07
Тоже без хот релоада. Знаю, что не все им пользуются, но мне без него грустно
хз, у меня проблем с этим не было с последним react-hot-loader-ом

Alexander
27.10.2016
04:40:34
Если ты поменяешь свой такой метод, то он не отхотрелоадится

Потому что конструктор только один раз будет вызван

При хотрелоаде он не вызовется

Leonid
27.10.2016
04:43:23
*пошел проверять*. Мне казалось, что вызывается. Он как-то хитро пересоздает инстансы в последних версиях.

Alexander
27.10.2016
04:43:58
constructor(props) { super(props); this.handleClickBind = (…args) => this.hadleClick(…args); }

Вот так не отвалится 100%

Google
Leonid
27.10.2016
04:49:43
Если ты поменяешь свой такой метод, то он не отхотрелоадится
Пока у меня ставятся node_modules после обновления на 7ую ноду нашел вот такую issue(см. последний коммент): https://github.com/gaearon/react-hot-loader/issues/242

Alexander
27.10.2016
04:51:55
Круто, если так!

Leonid
27.10.2016
04:54:49
Проверил у себя. Работает hot reload.

Alexander
27.10.2016
04:58:20
Это который next, верно?

Leonid
27.10.2016
04:59:21
ветка? Да.

Не знаю поставится ли с таким тэгом с npm, правда.

Paul
27.10.2016
05:34:40
Байндить в конструкторе еще хорошо в случае ssr. Можно оборачивать этот блок в if, и просто вырезать при сборке для сервера. Это важно, если дерево большое и у тебя сотни запросов в секунду

S
27.10.2016
07:08:38
и тут бем ? бережной все никак не может стюардессу закопать

S
27.10.2016
07:12:56
ну когда что то связанное с бем было обычным)

Andrey
27.10.2016
07:13:52
Там в импорты загнали много логики с модификаторами и элементами

Все это выглядит очень странно)

И с вебпака нельзя будет слезть

JiSeven
27.10.2016
07:15:59
значит, лучше bind в конструкторе, чем стрелки в рендере?

Pavel
27.10.2016
07:16:56
Andrey
27.10.2016
07:17:03
значит, лучше bind в конструкторе, чем стрелки в рендере?
Конечно, не пересоздается и можно проверить на равенство

JiSeven
27.10.2016
07:17:37
React.autoBind ?

или декоратор?

Google
Pavel
27.10.2016
07:18:20
я использую из core-decorators, но это для рядовых компонентов, в некоторых кейсах автобайнд не прокатит

S
27.10.2016
07:20:02
или декоратор?
декоратор

JiSeven
27.10.2016
07:20:23
а чем он лучше биндинга в конструкторе?

S
27.10.2016
07:20:51
либо можешь декларировать методы как arrow-functions

Andrey
27.10.2016
07:21:29
И нужен будет у babel stage-2

а чем он лучше биндинга в конструкторе?
Ничем? Если один такой биндинг, еще и больше символов

S
27.10.2016
07:22:05
Ничем? Если один такой биндинг, еще и больше символов
можно сделать автобинд на класс целиком

Dmitriy
27.10.2016
07:26:39
Кто нить знает как в yarn отключить ssl?

Andrey
27.10.2016
07:26:51
Так же как и у нпм

Тот же параметр

Dmitriy
27.10.2016
07:27:43
Спасибо, работает!)

JiSeven
27.10.2016
07:27:45
кстати, const { value } = this.props и this.props.value в рендере разница есть?

Andrey
27.10.2016
07:28:11
Нет

JiSeven
27.10.2016
07:28:32
спасибо

Brs
27.10.2016
08:00:48
А чем вам свойства класа не нравятся?

И биндить не надо

Ҫѐҏӗѫӑ
27.10.2016
08:20:30
ё тут трансляция конфы если шта

https://www.youtube.com/watch?v=N9RbcP4iY90

Andrey
27.10.2016
08:24:53
А чем вам свойства класа не нравятся?
возможно поломается в будущем, спека не до конца готова ( но мы используем )

Google
Дмитрий
27.10.2016
08:39:17
https://www.youtube.com/watch?v=N9RbcP4iY90
о, каеф Rouch'a попалить

equicolor
27.10.2016
08:45:34
Ку! напомните как называется штука для биндинга? onChange={::this.handleChange}

? ethorz
27.10.2016
08:46:23
обработчик, не?

equicolor
27.10.2016
08:47:02
не, видимо bind operator

code4aman
27.10.2016
08:49:49
TIL: в vscode-icons можно настроить ассоциации

Арсений
27.10.2016
08:52:36
Тупая шутка из рабочего общения:

>Почему есть самовар и самолет, но нет самоконста?

Арсений
27.10.2016
08:57:03
А никто не говорил что будет легко)

Алсо я там опечаталсо

Исмаил
27.10.2016
09:35:22
Слушайте, а есть в react такой подход как "невидимые" компоненты? То есть это отдельный компонент, который подключается в нужных местах и имеет свой функционал, но ничего в браузер не выводит. Например для работы с API браузера. И если такое есть, то как это гуглить и где можно почитать?

JiSeven
27.10.2016
09:36:08
ну тебе никто не мешает в рендере возвращать null

Malgalad
27.10.2016
09:36:09
render() { return null }

JiSeven
27.10.2016
09:36:14
и он ничего выводить не будет

Malgalad
27.10.2016
09:36:16
рано отправилось*

JiSeven
27.10.2016
09:36:41
несовершеннолетнее сообщение)

Alex
27.10.2016
09:41:24
народ, как кошернее всего в реакт подключить комменты от вк?

Roman
27.10.2016
09:49:23
написать либу и выложить ее в опенсорс - кошерно

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

Malgalad
27.10.2016
09:50:29
в веб-версии редактировать, внезапно, нельзя.

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