
Владислав
03.11.2016
13:31:00
Еще вопрос) У кого нибудь был опыт разработки крупных приложений на react.. Когда на одной странице больше 1000 компонентов
Допустим, список сотрудников... и тп

Danila
03.11.2016
13:31:29
да
с довольно большим трудом решал

Google

Danila
03.11.2016
13:32:25
ну, на самом деле, труд большой только на первый раз. когда понимаешь, что под копотом и как избегать лишних рендеров - всё норм

Владислав
03.11.2016
13:32:44
сильно лагуч? на что надо уделить внимание, чтобы минимизировать тормоза?

Dmitry
03.11.2016
13:33:25
Меньше всякой хрени в рендер пихать

Danila
03.11.2016
13:33:45
на иммутабельность (позволяет очень быстро сравнивать были ли изменены объекты или нет), на корректные shouldComponentUpdate (или свои, или PureRender)
вообще, в идеале, у тебя ничего лишнего обновляться не должно при рендеринге
беда происходит, если сам рендеринг жирный
к примеру, у меня на каждой строке селект был
ваще адово тормозило. пришлось делать такую тему - визуально селект на каждой строке, но какие-то общие для него элементы (dropdown к примеру) - глобальны для всей таблицы
такие простые оптимизации оч сильно время экономили

Владислав
03.11.2016
13:36:01
Ты ему просто postition менял?)

Danila
03.11.2016
13:36:07
угу
где-то пришлось открываться от bootstrap элементов в пользу div'ов с корректными классами

Владислав
03.11.2016
13:36:44
Интересно, надо запомнить будет)

Google

Danila
03.11.2016
13:36:55
потому что каждый новый компонент в твоём древе = дополнительный прочёт shouldComponentUpdate + render

Владислав
03.11.2016
13:36:57
За иммутабельность разве не отвечает virtual dom?
или есть какие-нибудь кастомные фичи?

Danila
03.11.2016
13:37:17
не. иммутабельность это, скажем так, стиль разработки
рассказывать долго. проще погуглить
у реакте вроде есть какая-то там своя шняга для иммутабельных операций над объектами
но я её особо не смотрел. идеальный вариант, это, наверное, ramda
ну или redux тоже предполагает, что сам ты стейты мутировать не будешь
кароч тут в паре слов не описать, за каждым инструментом своя небольшая философия. лучше покопайся сам)

Владислав
03.11.2016
13:40:28
ну и на этом спасибо) за отправные точки)

Yaroslav
03.11.2016
13:40:43
ребята подскажите статьи\видео где можно базу освоить?

Iaroslav ¯\_(ツ)_/¯
03.11.2016
13:40:58

Владислав
03.11.2016
13:41:00
второй день как изучаю реакт) до этого хардкодил на vanilla

Yaroslav
03.11.2016
13:41:12
реакта)

Andrey
03.11.2016
13:41:34
Дока - наше все

Iaroslav ¯\_(ツ)_/¯
03.11.2016
13:41:36
реакта)
https://egghead.io/technologies/react

Yaroslav
03.11.2016
13:41:38
Верстаю сейчас, хочу освоить что-то новое

Iaroslav ¯\_(ツ)_/¯
03.11.2016
13:42:06

Sergey
03.11.2016
13:42:23
es6

Nikita
03.11.2016
13:44:43
я согласен с идеей, что сначала надо vanilla учить, но я совсем не понимаю, как люди это будут делать)
бери реакт и пиши любое приложение. Так и разберешься)

Google

Danila
03.11.2016
13:45:04
ну тогда это будет очень плохое приложение)

Nikita
03.11.2016
13:45:19
потом возьми ангуляр, на нем что-то напиши. уже будет возможность сравнить)

Iaroslav ¯\_(ツ)_/¯
03.11.2016
13:45:39

Nikita
03.11.2016
13:45:50
никогда и никто сразу хорошее приложение не напишет. а учить js просто так, как и любой язык - это ниочем. практика и только практика

Владислав
03.11.2016
13:46:05

Danila
03.11.2016
13:46:20
всё таки реакт под копотом очень сложен, и идеи лежащие в его основе, мне кажется, можно по-настоящему оценить только пару лет посидев на каких-то других фреймворках, походив по граблям, набив шишек, и т.п.

Aleh
03.11.2016
13:46:22
ну еще книжки желательно читать

Iaroslav ¯\_(ツ)_/¯
03.11.2016
13:46:26
Бляха. Бери и пиши тоже приложение на ванильном JS

Nikita
03.11.2016
13:46:28

Ave
03.11.2016
13:47:18

Nikita
03.11.2016
13:47:19

Iaroslav ¯\_(ツ)_/¯
03.11.2016
13:47:25

Владислав
03.11.2016
13:48:12
В школе же начинают с букваря, а не с войны и мир)

Iaroslav ¯\_(ツ)_/¯
03.11.2016
13:48:33
Человек написал, что он верстает, но при этом ни слова о знании JS

Nikita
03.11.2016
13:48:43
ну еще книжки желательно читать
что посоветуешь?) имхо гораздо полезнее блогов/твиттеров сейчас набрать и статьи читать. книжки по js - это всегда про вчерашний день)

Yaroslav
03.11.2016
13:49:15
не до конца понимаю значение реакта при обычной верстке сайтов, последнее время много заказов появляется, где нужно опыт работы с реактом, кто что может сказать по этому поводу? как и где его применяют?

Nikita
03.11.2016
13:49:15
невозможно верстать и совсем js не знать

Ave
03.11.2016
13:49:39
короче для изучение JS первым делом нужно скачать программу WebStorm и следовать принципам ADD

Nikita
03.11.2016
13:49:43

Iaroslav ¯\_(ツ)_/¯
03.11.2016
13:49:44

Google

Исмаил
03.11.2016
13:49:46

Yaroslav
03.11.2016
13:49:53
js база есть, в чужом скрипте могу разобратся спокойно и внести свои изминения

Ave
03.11.2016
13:50:05
https://twitter.com/avevlad/status/793199274188210180

Nikita
03.11.2016
13:51:47
потом напиши, объясню как в обычную верстку в 3 строчки вывести, если сам не разберешься

Evgeniy
03.11.2016
14:15:27
Всем привет. Кто знает как перенести строчку в JSX, там где ${'\n'}? Вариант не работает, пробовал <br />, тоже не пашет
Есть два тайтла:
const desktopTitle = Заполните персональные данные, ${'\n'}чтобы ускорить решение банка;
const mobileTitle = 'Заполнение персональных данных';
JSX:
<h2>{isDesktop ? desktopTitle : mobileTitle}</h2>

Danila
03.11.2016
14:17:52
<br /> пашет, только ты не как строку его передавай, а как JSX

Evgeniy
03.11.2016
14:25:53
а разрыв строки в тексте передать нет вариантов?

Petr
03.11.2016
14:26:22
const desktopTitle = <span>Заполните персональные данные, <br/>чтобы ускорить решение банка</span>;
можешь в тексте, и распарсить его функцией которая разделяет твою строку в массив и добавляет <br/> вместо \n

Evgeniy
03.11.2016
14:29:03
ок, спасибо!

Petr
03.11.2016
14:29:55
или взять плохой способ
https://facebook.github.io/react/docs/dom-elements.html#dangerouslysetinnerhtml

Aleh
03.11.2016
14:31:32

Vladimir
03.11.2016
14:31:33
друзья, а webdriver.io кто-нибудь использует?

Damir
03.11.2016
14:43:50
Handlesave же без bind работать не должен? Там this должен бажить

Сергей
03.11.2016
14:45:39

Brs
03.11.2016
14:45:42
this должен бажить?))
this как раз нормально работает, в отличии от вашего кода

Damir
03.11.2016
14:47:17
This в handlesave не должен смотреть на this объекта вроде как при таком написании
Я в конструкторе задаю пропы через super, иначе не читается this.props

Google

Damir
03.11.2016
14:48:49
Там нет конструктора и передачи контекста для handlesave, разве это должно нормально работать?

Brs
03.11.2016
14:51:16
https://facebook.github.io/react/docs/hello-world.html
тебе сюда

[Anonymous]
03.11.2016
14:51:24

Damir
03.11.2016
14:52:13

Brs
03.11.2016
14:53:03
я заметил

Damir
03.11.2016
14:55:06
Как вы state задаёте при таком объявлении класса?

[Anonymous]
03.11.2016
14:55:16

Lupsick
03.11.2016
14:56:01
ох щас бы пхп в хтмл

Сергей
03.11.2016
14:56:08
фуфуфу

Lupsick
03.11.2016
14:56:26
не было проблем