
Dmitry
16.11.2016
12:58:17
это я понял, подумал, что раз есть в туториале, может есть какой-нибудь супер мега бест практис?

Arsen
16.11.2016
12:58:30
уу циклы с индексами -_-

Eugeniy
16.11.2016
12:59:30
ну в первом цикле выводи ряд, во 2м цикле колонки

Dmitry
16.11.2016
12:59:32
Ладно, спасибо, заморочился просто так, получается :)

Google

Mykola
16.11.2016
13:00:34
вспомнилось https://i.stack.imgur.com/A7NsC.gif

Alexander
16.11.2016
13:01:10
Все чаще вспоминаю эту шутку

Eugeniy
16.11.2016
13:01:32
Сейчас нужен реакт компонент для этих вещей
<summ left="1" right="2" />

Alexander
16.11.2016
13:02:56
<Add>
<Number value={1} />
<Number value={3} />
</Add>
Лисп почти

Ilya
16.11.2016
13:03:39
Второй вариант лучше :)

Mykola
16.11.2016
13:04:28
но оба бесполезные :)

Eugeniy
16.11.2016
13:04:33
на гитхаб за звездами

Denis
16.11.2016
13:06:06
гайз, помогите React Amsterdam найти хорошие доклады, ретвит плиз https://twitter.com/ReactAmsterdam/status/798439511818649600

Dmitry
16.11.2016
13:06:32
как ни странно, но обычный луп внури return отдает мне ошибку
<div className="board">
for (var i = 0; i < numrows; i++) {
<Square value={0} onClick={(i) => {props.onClick(i)}}/>
}
</div>
на вторую ;

Сергей
16.11.2016
13:06:41

Google

Dmitry
16.11.2016
13:06:45
туплю где=то?

Сергей
16.11.2016
13:07:01
доку читай
юзай map

Iaroslav ¯\_(ツ)_/¯
16.11.2016
13:07:52

Сергей
16.11.2016
13:08:05
юзайте map!
и лишняя arrow функция

Dmitry
16.11.2016
13:08:31
ок
только в моем случае придется лишний массив создавать

Arthur
16.11.2016
13:09:42
map возвращает список, for нет

Сергей
16.11.2016
13:10:22
new Array(5).fill(0).map((_, i) => <Component key={i} value={i} />

Anton
16.11.2016
13:13:33
не используйте arrow function в render
https://medium.com/@machnicki/handle-events-in-react-with-arrow-functions-ede88184bbb#.ete1uxjtb

Alexander
16.11.2016
13:14:08
Поняли?

Vladimir
16.11.2016
13:15:02

Сергей
16.11.2016
13:15:44
и arrow-функции нельзя в рендере и bind тоже

Alexander
16.11.2016
13:16:06
Прям нельзя?

Anton
16.11.2016
13:16:16
не стоит

Eugeniy
16.11.2016
13:16:19
arrow создает тот же bind при трансляции в es5

Сергей
16.11.2016
13:16:23

Alexander
16.11.2016
13:16:30
а если render вызывается только один раз за всё время жизни? )

Google

Сергей
16.11.2016
13:17:00

Alexander
16.11.2016
13:17:00
Вы наверное, еще и перемернные лишние не создаете, да?

Eugeniy
16.11.2016
13:17:01
не
а, да, там создается просто переменная _thisN

Alexander
16.11.2016
13:23:00
Так блин тут та же arrow функция, только не в рендере
Каждый раз новая

Сергей
16.11.2016
13:23:15
неа)))
она закешируется движком
и всё будет ок

Alexander
16.11.2016
13:24:12
Т.е. ты хочешь сказать, что this.handleValueChange(‘first’) === this.handleValueChange(‘first’) ?

Roman
16.11.2016
13:25:59

Сергей
16.11.2016
13:26:13

Roman
16.11.2016
13:26:14
<div>
{[1, 2, 3].map(i => (
<Row key={i}>
{[1, 2, 3].map(j => (
<Col key={j}>
{someArray[i * j - 1]}
</Col>
))}
</Row>
))}
</div>

Andrey
16.11.2016
13:26:23

Dmitriy
16.11.2016
13:26:24
в onClick передаваешь вызов функции

Alexander
16.11.2016
13:26:25

Сергей
16.11.2016
13:26:27
но v8 например, оптимизирует данные вызовы

Alexander
16.11.2016
13:26:47
Фишка-то не в том, чтобы не создать функцию — это копейки

Roman
16.11.2016
13:26:49
не вызов, а результат вызова тогда уж

Andrey
16.11.2016
13:27:03

Dmitriy
16.11.2016
13:27:07
аха

Google

Alexander
16.11.2016
13:27:08
Фишка в том, что с такой фигней простой sCU не сработает
Ну т.е. даже вообще не сработает

Сергей
16.11.2016
13:28:11
так что с биндом, что с arrow в рендере тоже не сработает

Alexander
16.11.2016
13:28:56
Ну я-то тут не рассказываю людям, что можно в рендере писать, а что нельзя :-)
А ты говоришь, что arrow нельзя, а сам тоже самое пишешь фактически
Вот поэтому я постоянно и говорю, что и bind можно и arrow можно. Когда просядет перф, тогда узнаешь отчего и будешь с умом делать

Anton
16.11.2016
13:30:53
а почему не
handleValueChange = () => { ... }
?
И можно даже handleValueChangeLeft, handleValueChangeRight :)

Сергей
16.11.2016
13:31:21

Anton
16.11.2016
13:32:22
чтобы совсем без bind

Сергей
16.11.2016
13:32:45
таки бинда в коде вообще нет

Andrey
16.11.2016
13:33:15

Dmitry
16.11.2016
14:08:47
Объясните, почему в react+redux не стоит делать вызов методов АПИ напрямую из компонента, а нужно это делать через экшены?

Nikita
16.11.2016
14:09:29
можешь вызывать из компонента
если не понимаешь, зачем это делать из экшна. серьезно

Александр NeonXP⚛??
16.11.2016
14:12:26
потому что компонент это view, а работа с данными и api - не задача view

Dmitry
16.11.2016
14:15:09

Eugeniy
16.11.2016
14:15:33

Nikita
16.11.2016
14:30:02
нефига подобного. есть контейнеры, в них не должно быть view, там логика. Никто не мешает там делать запросы к серверу

Ҫѐҏӗѫӑ
16.11.2016
14:41:06
https://github.com/facebook/react/releases/tag/v15.4.0

Evgeny
16.11.2016
14:43:46
Когда 16.0!

Google

Evgeniy
16.11.2016
14:45:32
А я слышал что вроде уже не обязательно набор компонентов в div оборачивать или я ошибаюсь

Aleh
16.11.2016
14:51:33
а в 16.0 будут фиберы уже?

Dmitry
16.11.2016
14:51:51
@javascript_jobs ;)

Ҫѐҏӗѫӑ
16.11.2016
14:52:49
а почему все так волнуют файберы вообще? какой профит ожидаете?
как изменится ваша жизнь как разработчика?

Aleh
16.11.2016
14:55:11
почему они фиберы называются?(

Ҫѐҏӗѫӑ
16.11.2016
14:55:30
в твиттере у себастьяна спрашивали не раз
стоит там поискать ответ
вкратце — он не знал более подходящего слова и взял это

Lupsick
16.11.2016
14:56:20
а кто-нибудь в итоге-то юзал ant.design?

Nikita
16.11.2016
14:57:04
на каком-то реакт-конфе чувак из реакта, обещал поработать над рендером больших списков. Они вообще в этом направлении что-то делают, если кто-то следит?

Ҫѐҏӗѫӑ
16.11.2016
14:57:45
ну вот файберы как раз
там можно будет отменить лишнюю работу
когда-нибудь