@react_js

Страница 2274 из 5115
David
09.10.2017
20:41:23
в конструктор

Юра
09.10.2017
20:44:01
В конструктор тоже можно: class Article extends Component { constructor(props, ...rest) { super(props, ...rest); this.state = { visible: false }; } }

Dmitry
09.10.2017
20:46:16
спасибо парни

Юра
09.10.2017
20:47:21
спасибо парни
Пожалуйста, обращайся.

Google
Vitaliy
09.10.2017
20:54:55
Ну ты ж не импортишь js, который зависит от jq
да, при установке в консоль падает, что нет jquery, но работает как надо. еще раз пасиб

Duego
09.10.2017
21:14:31
народ

почему если мы метод у класса получаем таким образом const { method } = className то при вызове метода, у него this = undefined

а должен на класс ссылаться

Stepan
09.10.2017
21:16:31
Предположительно потому что ты получаешь static метод?

Какое там this?

Duego
09.10.2017
21:17:10
Ну если просто вызвать метод bar.foo() то на класс ссылается

пошел про this читать)

Stepan
09.10.2017
21:18:00
Сурово. У меня не работало

Читну, что ли, тоже

Женя
09.10.2017
21:27:58
Доброй ночи, вебпак билд падает из-за реакт роутера v4, и я даже не знаю что с этим делать.

Artyom
09.10.2017
21:39:01
{verificationStep <= 1 && <Component />}
Т.е. вернётся false. Я стараюсь избегать конструкций с булевыми выражениями, т.к. они деградирует производительность и могу вернуть неожиданное значение (0 / null / '')

Google
Юра
09.10.2017
21:39:10
пошел про this читать)
Там хитрее все. function foo() { console.log(this.bar); } var a = {bar: 'a', foo: foo}; var b = {bar: 'b', foo: foo}; a.foo // a a.bar // b var f = a.foo; f() // undefined В JS-е контекст присваивается в момент вызова. Переопредилить такое поведение можно с момощью .bind, и с помощью .call и .apply можно явно указать контекст.

Artyom
09.10.2017
21:40:15
Или стрелочная ф-я

Duego
09.10.2017
21:40:38
точно

спасибо

что напомнили

Stepan
09.10.2017
21:40:44
Юра
09.10.2017
21:40:59
Ну, стрелочная функция — это, в общем-то просто синтаксический сахар для function(){}.bind(this).

Duego
09.10.2017
21:41:47
мне уже дали ответ

Stepan
09.10.2017
21:42:26
@artalar, ты про неожиданные значения непонятно сказал, где там будет 0 или null?

Если сравнивать через == разве что))

Stepan
09.10.2017
21:42:51
Дмитрий
09.10.2017
21:43:20
даже если все прочие различия отбросить, поведение с контекстом совершенно иное

Artyom
09.10.2017
21:43:33
@artalar, ты про неожиданные значения непонятно сказал, где там будет 0 или null?
В моём примере нет, но в общем и целом надо себя получать к этому (личное мнение).

Stepan
09.10.2017
21:44:18
Подводные камни могут быть только если ты не приведёшь число к булевому типу

Artyom
09.10.2017
21:44:47
Просто часто делают value || anotherValue. Приходит 0 и все ломается

Stepan
09.10.2017
21:44:55
Это другой вопрос

Google
Stepan
09.10.2017
21:45:12
В твоём случае всё оки

Artyom
09.10.2017
21:45:20
Да я понимаю)

Дмитрий
09.10.2017
21:45:40
Например?
стрелочной функции нельзя прибиндить другой контекст, например

Artyom
09.10.2017
21:45:53
Говорю, воспитываю себя просто. И повторюсь, компилятору от этого лучше

Алексей
09.10.2017
21:45:57
Например?
нет arguments

Дмитрий
09.10.2017
21:46:45
Например?
её нельзя вызвать через new

нет arguments
пока только о контексте речь

Юра
09.10.2017
21:48:37
А. Ну, да, согласен.

Потому что стрелочные функции захватывают лексический контекст.

Т.е. function foo() { return () => this.bar; } foo.call({bar: 'a'})(); // foo;

Duego
09.10.2017
21:55:23
в react-router как редирект сделать?

Artyom
09.10.2017
21:56:46
Redirect

Duego
09.10.2017
22:05:22
Метод нужен

Artyom
09.10.2017
22:09:02
push

Юра
09.10.2017
22:15:24
Метод нужен
Сделай так: withRouter(({ history }) => { return <button onClick={() => history.push('/foo')}>Click me</button> });

Попробуй у себя.

Stepan
09.10.2017
22:31:47
Есть у кого ссыль почитать, как работает результат транспиляции async-await?

Artyom
09.10.2017
22:33:02
Ну на сайте Бабеля глянь

Google
Stepan
09.10.2017
22:34:53
Я уже глянул, но теперь стало интересовать, как генераторы транспилируются

Алексей
09.10.2017
22:49:23
Я уже глянул, но теперь стало интересовать, как генераторы транспилируются
так как работают или как транспилируются?) вообще просто стейт-машина генерируется. с помощью дебагера можно пройтись по такой функции, станет все понятно)

Алексей
09.10.2017
22:54:40
Там зависимость от regeneratorRuntime
я конечно могу ошибатся, но по коду regenerator-а я понял, что он выдает себя за генератор для остального кода, и поэтому им оборачивают

точнее итератор

Admin
ERROR: S client not available

Stepan
09.10.2017
22:55:31
я конечно могу ошибатся, но по коду regenerator-а я понял, что он выдает себя за генератор для остального кода, и поэтому им оборачивают
Ну я просто думал разобраться перед сном досконально, как написать свою es5 версию асинк-эвейта

Но все оказалось сложнее)))

Так что код регенератора как-нибудь в другой раз посмотрю

Дмитрий
09.10.2017
22:58:53
Генератор — это всего лишь одна из имплементаций протокола Iterable/Iterator

Алексей
09.10.2017
23:00:44
Она даже не выдаёт, а и является нормальным итератором
да, ты прав, реализует интерфейс) плохо выразился)

Stepan
09.10.2017
23:23:18
Не про эти конкретно

А вообще про протоколы в js

Я кроме Iterator и Iterable ничего не вижу

Юра
09.10.2017
23:30:52
Я кроме Iterator и Iterable ничего не вижу
А ничего и нет потому что.

Stepan
09.10.2017
23:31:07
А ничего и нет потому что.
Ну про саму концепцию хотелось бы почитать

Вижу реализацию через Symbol

Google
Stepan
09.10.2017
23:31:56
Это теперь новый джаваскрипт с протоколами будет?

Юра
09.10.2017
23:35:03
Ну про саму концепцию хотелось бы почитать
Ну, в отличии от, например, индекса, итератор не известно когда кончается (и может быть определен на бесконечной последовательности).

Юра
09.10.2017
23:36:07
Поэтому на каждой итерации нужно проверить .done, и если .done == false, то сделать .next() и прочитать .value. Если .done == true, то .value == null.

Stepan
09.10.2017
23:36:34
Когда в моём жээсике будет class Foo implements Bar?

Вот это меня волнует)

А генераторы-то понятно, как работают

Юра
09.10.2017
23:38:02
https://github.com/michaelficarra/proposal-first-class-protocols

В stage 1 написано, это есть.

Есть такая реализация на sweet.js: https://github.com/disnet/sweet-interfaces

Но в бабеле нет, пичаль.

Чойта?

Реклама?

Pauline
09.10.2017
23:41:06
спам

Юра
09.10.2017
23:42:30
А можно как-то удалить?

Stepan
09.10.2017
23:46:29
https://github.com/michaelficarra/proposal-first-class-protocols
> The proposal is at Stage 1 after having been proposed at the September 2017 TC39 meeting. Свежая тема, однако. Спасибо.

Юра
09.10.2017
23:47:01

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