
Dmitry
17.06.2017
10:56:05
выглядит интересно
особенно с селекторами
и денормализацией

FantoM
17.06.2017
11:06:44
https://medium.com/@rofrischmann/styles-as-functions-of-state-1885627a63f7

Google

FantoM
17.06.2017
11:06:56
как вам такой поход?

Daria
17.06.2017
11:42:44
Привет! Я чат пытаюсь читать уже наверное два дня, а про традицию прочла только сейчас :D
В общем, я верстальщик, которые в тоже время Джун и около полугода я связалась с React. Но так как я на самообучении, порой возникает куча вопросов, которые некому задать. Я сама из Новосибирска, в чате надеюсь найти много полезной для себя информации, постараюсь быть вам полезной (с вёрсткой уж точно смогу помочь), группу где-то в каком чате рекомендовали :)
Вот как то так :D
#whois

Daniel
17.06.2017
11:43:37
Блин, а я даже не представился

ENAMETOOLONG
17.06.2017
11:45:29

Daria
17.06.2017
12:43:12
Штаны?
Что? :)

Pavel
17.06.2017
12:49:05

Vitaliy
17.06.2017
13:11:08
Ребят, вопрос.
Есть массив категорий [{id: , title: }]. Вывожу их в реакт.компоненте ссылками. Хочу, чтобы при клике по каждой такой ссылке срабатывала функция, и внутри нее я бы получал доступ к id: той категории, по ссылке которой кликнул.
К ссылке привязываю функцию так: onClick={this.handleClick}. Вопрос - как внутри handleClick получить информацию о категории, по ссылке которой я кликнул.

Bogdan
17.06.2017
13:13:48
из пропсов

Pavel
17.06.2017
13:13:50

Vitaliy
17.06.2017
13:14:59

Pavel
17.06.2017
13:15:11

Google

Nikolay
17.06.2017
13:28:03
а можно делать const handleClick = (cat) => (e) => {}

Pavel
17.06.2017
13:28:39

Nikolay
17.06.2017
13:29:16
ну типа создание функции дорогая операция
лучше ее создавать заранее

Pavel
17.06.2017
13:29:25
Ну типа у тебя её нету?

Nikolay
17.06.2017
13:29:26
а не на каждый ререндр

Pavel
17.06.2017
13:29:49
Ну вот ты ей cat передал
Или как это выглядит?

Nikolay
17.06.2017
13:30:00
например можно сделать в конструкторе компонента this.handleClick = (cat) => (e) => {}

Pavel
17.06.2017
13:30:36
И как ты туда cat передашь?

Dreamerinnoise
17.06.2017
13:31:04
onClick = {this.handleClick(cat)}

Daniel
17.06.2017
13:31:34
не имеет смысла, всё равно будет создаваться функция на каждый рендер

Pavel
17.06.2017
13:31:39

Dreamerinnoise
17.06.2017
13:31:48

Pavel
17.06.2017
13:31:49

Daniel
17.06.2017
13:32:29
как вы вообще пишете на реакте
с такими познаниями

Pavel
17.06.2017
13:32:59
onClick = {this.handleClick(cat)}
После handleClick есть такие круглые скобочки ( и ), что значит что ты её выполнил, а она у тебя возвращает новую функцию. И это каждый рендер делается, гений чёртов.

Google

Pavel
17.06.2017
13:34:14
а, опс, я тупой
звиняйте, оно же не так работает
Приношу свои извинения благородным господам

Dreamerinnoise
17.06.2017
13:34:36
рюсское коммьюнити

Daniel
17.06.2017
13:34:43
ээ, а что не так

Pavel
17.06.2017
13:35:13
Оно же только по onClick выполнится вообще

Daniel
17.06.2017
13:35:57
а, и правда
там клик

Nikolay
17.06.2017
13:36:49
эх, как то грустно стало

Pavel
17.06.2017
13:37:02

Daniel
17.06.2017
13:37:07
хм, с этим рекомпоузом совсем мозги атрофировались

Dreamerinnoise
17.06.2017
13:37:47

Nikolay
17.06.2017
13:39:59
можно на самом деле создать две функции и вынести за пределы компонента вообще, тогда они будут созданы единожды, когда будет подключен компонент
ну и вот тест, можно посмотреть на сколько дорого создавать функции https://jsperf.com/named-or-anonymous-functions/12

Daniel
17.06.2017
13:41:37
И всё же
Функции создаются
Так что это не я тупой
То, что в скобках, выполнится при рендере
вернёт новую функцию, и она уже выполнится на клик
разве что можно понадеяться на мемоизацию движком или какой-нибудь либой

Google

Daniel
17.06.2017
13:42:51
а в целом, ничем не отличается от стрелки прямо в атрибуте

Michael
17.06.2017
13:44:18
onClick = {this.handleClick.bind(this, cat)}
что мешает так написать? зачем вызывать функцию и там возвращать новую?

Admin
ERROR: S client not available

Michael
17.06.2017
13:44:52
я может упустил момент почему нужно именно вызывать

Daniel
17.06.2017
13:45:26
битва была за то, чтоб создавать меньше функций

Bogdan
17.06.2017
13:49:21
зачем вообще функции создавать

Pavel
17.06.2017
13:49:56
Вообще на самом делел плевать, создаются они или нет, если это не боттлнек (это всегда не он)

Daniel
17.06.2017
13:50:35
Создаются
так что зря извинялся

Pavel
17.06.2017
13:51:01
Да это неважно

Bogdan
17.06.2017
13:52:31
а де ботленеки обычно? например, дико тормозят поля ввода. куда смотреть, чтобы пофиксить?

Daniel
17.06.2017
13:53:20
смотреть на то, что ты меняешь

Dmitry
17.06.2017
13:56:14
если поля ввода тормозят, то я бы глянул на те компоненты которые перерендериваются когда печатаешь и глянуть на мап стейт ту пропс

Andrew
17.06.2017
13:58:47
Всем привет! Посоветуйте пожалуйста хорошою книжку по React/Redux, желательно 17 года.

Daniel
17.06.2017
14:00:04
redux.js.org

Andrew
17.06.2017
14:03:03
а кроме офф туториала?

Дмитрий
17.06.2017
14:11:55

Daniel
17.06.2017
14:12:04
бинд медленнее стрелки

Dmitry
17.06.2017
14:49:15

Google

Oleg ?
17.06.2017
15:06:04
Да, очень хорошая книга, каждый раз перечитываю

ahmed
17.06.2017
15:32:03
Чат для Instagramщиков:
‼️@inst_admins ‼️

Daniel
17.06.2017
15:32:09
аааа ахмед зачем ты так

ahmed
17.06.2017
15:32:19
глаза режет?

Kirill
17.06.2017
15:36:33

Dmitry
17.06.2017
15:42:11
т.е оно в движке закешировалось, но будет возвращаться другая функция ?

Kirill
17.06.2017
15:45:37
Функция таже, но происходит перерендер, что может быть накладно, если в твоей иерархии компонентов везде не стоит SCU.
Под иерархией понимаются те компоненты, через которые происходит поднимание хэндлера. Тут вспомнилось это.

andretshurotshka?❄️кде
17.06.2017
15:48:35
Нормально сделали