@react_js

Страница 34 из 5115
Sergey
22.04.2016
01:15:03
Гонконг

Я как раз 28 в Москву, на пару дней

L'Alchimiste
22.04.2016
05:19:07
/stat@comstatbot

Nikita
22.04.2016
05:19:24
/stat@comstatbot

Google
Dmitry
22.04.2016
05:21:06
/stat@comstatbot

Антон
22.04.2016
05:24:50
ссылка одна (вдруг не зметили, чтобы не спамить)

Evgeniy
22.04.2016
06:25:07
Can only update a mounted or mounting component. This usually means you called setState() on an unmounted component. This is a no-op. Please check the code for the undefined component

Ребят как с этим предупреждением боротся?

Вызываю примерно так

Vladimir
22.04.2016
06:29:17
1) в loadImage this.img = new Image(). this.img.addEventListener('load', this.onImageError); this.img.addEventListener('error', this.onImageError); 2) в componentWillUnmount this.img.removeEventListener('load', this.onImageError); this.img.removeEventListener('error', this.onImageError);

понятно, проверив на существование this.img

есть вариант 2, он погрязнее - в componentDidMount ставишь this._isMounted=true, в componentWillUnmount - this._isMounted = false, а в хендлерах - if(!this._isMounted){return}

Evgeniy
22.04.2016
06:32:02
Круто. Спасибо.

Vladimir
22.04.2016
06:32:48
оч частая ошибка, постоянно возникает, если не почистить эвенты или делать сетстейт по таймауту, например

Evgeniy
22.04.2016
06:39:54
Теперь все работает. Еще раз спасибо.

Подскажите может есть какие-то стандарты, отслеживать что компонент полностью загружен, и что можно грузить следующий.

?

Google
Evgeniy
22.04.2016
06:41:21
Я например в некоторых местах как в прошлом скрине в стэйте храню loaded -false или true

Может есть практики лучше

?

Vladimir
22.04.2016
06:49:20
ну вообще если компонентов несколько и их надо грузить например поочередно, то стейт надо вынести наверх

либо в компонентстейт уровнем выше, либо в стейтменеджер типа редукса

anoru
22.04.2016
06:54:04
есть вариант 2, он погрязнее - в componentDidMount ставишь this._isMounted=true, в componentWillUnmount - this._isMounted = false, а в хендлерах - if(!this._isMounted){return}
а как же просто this.isMounted() встроенный в реакт уже из коробки. Правда, не доводилось юзать его самому, т.к. тоже решал подписками и отпиской

Vladimir
22.04.2016
06:54:42
deprecated

ну именно потому что он попахивает

и по хорошему надо отписываться

anoru
22.04.2016
06:56:30
хотя для данного кейса и его можно юзать

Vladimir
22.04.2016
06:56:42
https://facebook.github.io/react/blog/2015/12/16/ismounted-antipattern.html

Evgeniy
22.04.2016
06:58:38
ну я использую redux. Просто происходит такая вещь.

Vladimir
22.04.2016
06:58:40
вообще я его юзаю, когда лень возиться с отписками - типа на странице одна яндекскарта, и страница за сессию пользователя не так часто грузится. в какой-то момент на определенной итерации код постепенно переходит в отписки, конечно

Evgeniy
22.04.2016
07:00:01
Есть компонент который грузит профиль, ниже него есть компонент данными связанными с этим юзером. И получается что запросы на сервер идут не последовательно. Хочется сначала загрузить профиль а уже потом делать загрузку связанных данных.

anoru
22.04.2016
07:04:32
либо в компонентстейт уровнем выше, либо в стейтменеджер типа редукса
В реакте еще многие крутые штуки делаются декораторами. Представим решение этой задаче через отдельный компоненте Чтобы не делать контейнер <Loading image="test.jpg"><Component /></Loading> Выглядит ужасно и никто так делать не стал бы можно просто декоратором компонентом и завернуть все такие нужные компоненты в него. Тот дождется лоадинга нужных переданных данных и далее вставит требуемый компонент. А если еще не загрузилось, то покажет анимацию загрузки, например Юзать все это чудо, например, как: @withWaitLoad('name') Хотя этот кейс мало подходит под декораторы, но как пример хотел описать )

Evgeniy
22.04.2016
07:12:23
С декораторами конечно интересно. Надо посмотреть в эту сторону

Vladimir
22.04.2016
07:12:41
Я кстати так делаю после того, как в бабеле в какой-то момент выпилили декораторы

Evgeniy
22.04.2016
07:13:10
А где пример посмотреть, чет не нашел пока

hlomzik
22.04.2016
07:13:13
А, точно. Выпилили, потому стандарт определяется. Сам же специальный плагин для декораторов использую.

Google
hlomzik
22.04.2016
07:14:09
*потому что

Vladimir
22.04.2016
07:14:20
то есть мне реально кажется, что завернуть в компонент - не такая плохая идея. У меня куча мест вроде <PermissionChecker permission="page:view">Some content</PermissionChecker>

и лоадер есть такой, как ты написал:) Просто потому что мне нравится смотреть в код и видеть такую же структуру, как в реакт-консоли

anoru
22.04.2016
07:15:41
если это Page можно вынести в реакт роутер проверку

если же компонент, то декоратором)

Evgeniy
22.04.2016
07:16:23
а в роутере что проверять. У меня есть случаи page.

/stat@comstatbot

Denis
22.04.2016
07:33:56
Гайз, ссылка одна и таже :)

Ҫѐҏӗѫӑ
22.04.2016
07:35:12
/stat@comstatbot

давно не было просто

Renat
22.04.2016
07:37:14
/stat@comstatbot

Denis
22.04.2016
07:41:48
)))

Denis
22.04.2016
07:42:16
Парни, кто-нибудь использует react-motion?

Admin
ERROR: S client not available

Andrey
22.04.2016
07:43:35
да, используем)

Slava
22.04.2016
07:45:41
folks, кто-нибудь знает хорошую библиотеку для рендера таблиц – нужно чтобы таблица по функциональности была к старых добрах sencha - чекбоксы для пунктов, хедеры многоуровневые. драг н дроп (опционально, но желательно).

Stanislav
22.04.2016
07:58:49
Это другое немного

melancholiac
22.04.2016
08:25:00
В реакте пользуют кложуру?

Google
Andrey
22.04.2016
08:29:21
кто то использует

Alexey
22.04.2016
09:28:56
случаем не про reagent идет речь?

Roman
22.04.2016
09:28:59
[HMR] The following modules couldn't be hot updated: (Full reload needed) This is usually because the modules which have changed (and their parents) do not know how to hot reload themselves. —------- кто нибудь сталкивался с тем, что с больгинством компонентов hmr норм работает, а с некоторыми вот такую хрень пишет?

Ҫѐҏӗѫӑ
22.04.2016
09:52:08
это бывает. надо в таких случаяш руками дописывать там шняжку

а втретьем хот релоде всегда надо будет

поэтому вебкап дно, а фигвил фтв

и реагент фтв и рефрейм

и rum

Alexey
22.04.2016
09:53:51
тебе сложно угодить, Сергей :)

Ҫѐҏӗѫӑ
22.04.2016
09:53:54
последний ваще щас шик

вебпак дно из-за того, что жс дно. но он старается

Sergey
22.04.2016
09:55:28
и rum
Я так понял что его фишка в том, что он может вести себя “как Om” или “как Reagent” для разных компонентов. Только вот когда это нужно?

Ҫѐҏӗѫӑ
22.04.2016
09:56:00
там от ома мало что есть

вот к реагенту ближе

в реагенте чертовски неудобно 3-пати интегрировать

а еще в роме есть киллерфича

теперь его мейнтейнит еще и Соловьев, который всем извесен по видео про кложескрипт

в оме очень сложно работать со стейтом

вот ом.некст и ром уже ближе идеями. они могут как угодно со внешним миром общаться

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