
Ҫѐҏӗѫӑ
19.05.2016
00:19:53
шта?
15.1.0-alpha на след неделе

Denis
19.05.2016
02:26:48
Голосуем: https://twitter.com/denisizmaylov/status/733064324214853632

Антон
19.05.2016
02:28:32
но зачем?

Google

Ҫѐҏӗѫӑ
19.05.2016
02:35:08
что зачем?

Антон
19.05.2016
02:47:57
Зачем голосовать? Что это изменит?

Ҫѐҏӗѫӑ
19.05.2016
03:10:03
ничего. очевидно
зато +10 к пиару

Ilya
19.05.2016
04:58:52
Странно, что нет варианта определить arrow function выше и использовать через this :/

Aleh
19.05.2016
05:17:15
Мы у себя декораторы юзаем и пакет core decorators

Denis
19.05.2016
05:18:19

Aleh
19.05.2016
05:18:23
Оттуда autobind соответственно

Daniil
19.05.2016
05:50:14
:: нет варианта :/

Aleksei
19.05.2016
06:21:31
Хотя нет, это отдельная либа, посмотрел. Ну в общем я тоже обычно :: юзаю, но думаю, что эту либу можно будет заюзать, это удобно

Michael
19.05.2016
06:25:02
mobx почти добрался до версии 2.2: https://github.com/mobxjs/mobx/pull/253

S
19.05.2016
06:49:34
А кто нибудь пробовал несколько версий реакта на одной странице дружить?

Google

S
19.05.2016
06:50:11
P.s. Нужно для разработки виджета

Semyon
19.05.2016
06:51:16

Tim
19.05.2016
07:23:44
Кажется будет правильнее вести поддержку нескольких версий реакта у виджета

Roman
19.05.2016
07:35:25

S
19.05.2016
07:39:45

Andrey
19.05.2016
07:40:44

Semyon
19.05.2016
07:40:59
Можно отдавать скомпилированный и минифицированный bundle

Daniil
19.05.2016
07:41:42
::handle и handle.bind(this) тоже создаются при каждом рендере
в идеале делать bind в конструкторе/свойствах класса, но ломает, видел трансформ для бабела экспериментальный, но не юзал

Andrey
19.05.2016
07:44:41
class Test extends Component {
handleClick = event => console.log(21);
render() {
return <div onClick={this.handleClick}>123</div>
}
}
обычно в такой записи использую

Roman
19.05.2016
07:45:33

Ilya
19.05.2016
07:45:43

Andrey
19.05.2016
07:46:35
при class + arrow function не пересоздаются каждый раз + нет не красивого биндинга в конструкторе )

Roman
19.05.2016
07:46:55
Сам узнал об этом внезапно когда прикрутил кодстайл аирбнб, с тех пор пилю обработчики в конструкторе

Andrey
19.05.2016
07:50:51
единствено, нужен подключенный stage-1

Roman
19.05.2016
07:52:11
https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-no-bind.md

Andrey
19.05.2016
07:52:33
у нас включено такое правило )

Roman
19.05.2016
07:53:35
У нас тоже)

Google

Daniil
19.05.2016
07:54:28
не всем оно нравится

Andrey
19.05.2016
07:55:06
там только в некоторых случаях может мешать )

Daniil
19.05.2016
07:55:25
помню мочилово было в твиттере по этому поводу, юзать его или нет

Andrey
19.05.2016
07:56:14
но для тех случаев есть eslint-disable )

dimchez
19.05.2016
07:57:08

Andrey
19.05.2016
08:03:50
когда bind используешь не только как привзяку к контексту, а еще и прокидыванием параметров(карринг).

Vasiliy
19.05.2016
08:04:59
а чем плохо использовать arrow functions на уровне класса?

Roman
19.05.2016
08:05:17
В таком месте локально правило можно отрубить

Vasiliy
19.05.2016
08:05:30
зачем bind в конструкторе?

Roman
19.05.2016
08:05:47
Ничем)

Aleh
19.05.2016
08:05:52
stage-1 нужен
Разве что

Vasiliy
19.05.2016
08:06:22
а, ок, да
у меня stage-0)

dimchez
19.05.2016
08:08:10

Andrey
19.05.2016
08:12:14
кто нибудь еще смотрел как работают es modules в edge?

Aleh
19.05.2016
08:12:55
stage0 это жёстко)

Andrey
19.05.2016
08:20:21

Ruslan
19.05.2016
08:21:09
Andrey
> handleClick = event => console.log(21);
в конструкторе?

Andrey
19.05.2016
08:28:51

Google

Roman
19.05.2016
08:31:11

Andrey
19.05.2016
08:34:40
А почему?
можно столкнутся с проблемой, что изменят спеку и придется переписывать. Но у нас тоже включен stage-0 и всегда его включаю )

Roman
19.05.2016
08:37:32
я его включал по принципу "сразу все, чтоб два раза не вставать"

Aleh
19.05.2016
08:37:39
А что вы юзаете?
Из stage0
У меня проперти в классах и декораторы из stage1
А так больше и ничего, вроде

Admin
ERROR: S client not available

Andrey
19.05.2016
08:39:47
в stage-0 сейчас и нет ничего нормального, только биндинг с помошью :: и do {}

Roman
19.05.2016
08:39:49
да тоже немного на самом деле
а есть какой то оверхед допустим при смене со stage1 на stage0?
время сборки например?
вот ::биндинг где-то есть точно

Andrey
19.05.2016
08:41:28
я думаю сильно не изменится )

Roman
19.05.2016
08:43:35
ну вот я тогда не понимаю, зачем юзать stage1 если можно stage0 ))

hlomzik
19.05.2016
08:43:55

Aleh
19.05.2016
08:44:55
У меня легаси, точняк

hlomzik
19.05.2016
08:46:22
есть где-то все варианты биндинга в одном месте? в опросе не все варианты, а здесь выше написанное я, кажется, не все понял. как минимум пойду читать про ::

Andrey
19.05.2016
08:47:04
это просто сахар .bind(this) === ::, func.bind(obj) === obj::func

Roman
19.05.2016
08:49:23
this.handler.bind(this) === ::this.handler

hlomzik
19.05.2016
08:50:07
жуть какая

Tim
19.05.2016
08:53:21
жуть это вот когда такое делают: https://jsbin.com/maqora/edit?js,console

Google

Roman
19.05.2016
09:10:48

hlomzik
19.05.2016
09:26:06

anoru
19.05.2016
09:26:59
В большом компоненте можно еще все методы вынести в отдельный js файл типа handle.js И в конструкторе воткнуть
Object.keys(handle).map(key => {
this[key] = handle[key].bind(this);
});
лол)

Nikita
19.05.2016
09:27:40
вот это дикий быдлокод и непонимание основ реакта)

Vladimir
19.05.2016
09:28:29
что именно?

hlomzik
19.05.2016
09:28:51
У меня декораторы с легаси плагином не заработали с react-hot-loader@1.3.0. Issue есть по этому поводу, но обсуждения долгие, я попробовал разные комбинации версий и решил, что без декораторы тоже можно жить) у кого-то завелось?

Nikita
19.05.2016
09:29:06
эти 3 метода, по сути они все одинаковы

hlomzik
19.05.2016
09:29:35

Nikita
19.05.2016
09:30:07
ну, в качестве примера) Я про реальный код

Алексей
19.05.2016
09:30:09
первый метод как раз будет каждый раз при рендере новую функцию создавать
да все три
будут

anoru
19.05.2016
09:30:25
А кто что выбирает, когда надо передать параметр в метод? Я вот видел много кода, где люди передавали через дата аттрибут
это жесть

Vladimir
19.05.2016
09:30:26
1 и 2 на самом деле отличаются слегка, но что тут показывает непонимание основ реакта?

anoru
19.05.2016
09:30:42
причем весь проект был так построен

Nikita
19.05.2016
09:30:53
1 и 3 вообще не отличаются, 2 слегка, да
у тебя render может вызываться 100500 раз, и ты туда выносишь тяжелые операции, хотя мог бы сделать их вне render.