
Aleh
20.02.2017
15:28:55
но я про публичное скорее

Dreamerinnoise
20.02.2017
15:29:05
У нас классы с большой буквы ClassName
если экспортируется функция, то functionName

Сергей
20.02.2017
15:29:50
константы PASCAL_CASE ?

Google

Dreamerinnoise
20.02.2017
15:29:54
а вот это какой-то ад

Сергей
20.02.2017
15:31:03
интересно
почему в нпм в kebab-case
но не node-modules

Aleh
20.02.2017
15:31:58
))

Sheridan
20.02.2017
15:39:56

from
20.02.2017
16:02:58

Vlad
20.02.2017
16:19:23
?

Alexander
20.02.2017
16:31:08

Anton
20.02.2017
16:31:22
попробовал приложение на реакте в мацилле запустить. ужас. как там вообще что то отлаживать? ни цсс толком не понять, ни скрипты. забить и не трогать?
или я что-то неправильно делаю?

Anton
20.02.2017
16:33:15
Нужны сорсмапы

Anton
20.02.2017
16:33:26
ну так хромиум не вякает

Demid
20.02.2017
16:33:31
Подскажите какую ни будь либу, для генерации рандомного ID, в каком-то из уроков Den Abramov показывал одну, но чет я ее не могу найти.

Google

Vlad
20.02.2017
16:33:50
uuid
https://www.npmjs.com/package/uuid

Demid
20.02.2017
16:34:12

Vlad
20.02.2017
16:34:52
Ребят, кто-то научился отменять запрос когда он уже не нужен? как это элегантнее всего делается?

Олег
20.02.2017
16:35:16
Есть же .abort

Vlad
20.02.2017
16:38:17
разобью пожалуй свой вопрос на две составляющие:
1) Есть ли уже какая-ниудь возможность отменить fetch
2) Есть ли возможность автоматически подписываться на componentWillUnmount для всех запросов посланных из компонента
ну или кто как вообще решает проблему того, что ответ от сервера приходит когда компонент уже заанмаунтился

Lupsick
20.02.2017
16:41:57
axios умеет

Алексей
20.02.2017
16:42:05

Lupsick
20.02.2017
16:42:41

from
20.02.2017
16:43:09

Сергей
20.02.2017
16:43:11

from
20.02.2017
16:43:14

Сергей
20.02.2017
16:43:40

Vlad
20.02.2017
16:43:42

Сергей
20.02.2017
16:43:48

from
20.02.2017
16:43:56
ладно, этот спор че-то каждый раз
и не совсем спор, сначала 20 минут тратится на то, чтобы понять, говорим об одном и том же или нет)

Алексей
20.02.2017
16:44:14
а какая связь)
ну так прямая) если человек делает запрос в компоненте и там же хочет обработать его)

from
20.02.2017
16:44:34
Компонент не должен знать откуда они
да, не должен, но данные должны быть запрошены по той причине, что появился компонент, которому они нужны
Если компонента нет — не должно быть запроса

Google

from
20.02.2017
16:44:43
короче идеология relay
всё, не продолжаю, кто понял тот согласился :)

Vlad
20.02.2017
16:47:12

from
20.02.2017
16:47:46
достаточно одного универсального HOC'а, думаю
к презентейшнл компонентам действительно не стоит логикy фетча и отписок привязывать

Сергей
20.02.2017
16:48:45
Не вызывай запрос данных в компоненте, просто диспатч экшен который вызовет

Vlad
20.02.2017
16:50:16
А в редаксе такая же проблема:
Есть компонент, которому нужны какие-то данные, он посылает экшн на загрузку этих данных
Допустим данные пришли через минуту, а компонента уже нет в живых
запрос по хорошему необходимо отменить

from
20.02.2017
16:50:37

Сергей
20.02.2017
16:50:42
Отменить нельзя
Ну пришли и пришли данные

Сергей
20.02.2017
16:50:58
И что

from
20.02.2017
16:51:05
почему вдруг нельзя )

Алексей
20.02.2017
16:51:17
потому что так tcp работает

from
20.02.2017
16:51:20
ну да, отмена это имитация, по факту мы просто не используем то, что пришло

Сергей
20.02.2017
16:51:34

from
20.02.2017
16:51:41
речь не об этом, спасибо за insight)
"решить, что надо не использовать" и есть отмена

Vlad
20.02.2017
16:51:57
XMLHttp разрешает отменить (плевать на tcp мы не на том уровне абстракции)

Google

from
20.02.2017
16:51:59
значит надо)

Vlad
20.02.2017
16:52:34
ну да

Сергей
20.02.2017
16:52:36

Vlad
20.02.2017
16:53:03
а если появился другой компонент, которому нужны такие же данные, что произойдет?

Сергей
20.02.2017
16:53:13

Vlad
20.02.2017
16:53:20
диспатчнули загрузку
диспатчнули отмену
опять диспатчнули загрузку

Олег
20.02.2017
16:53:35
В чом проблема то, заведи [] и пушь туда xhr'ы, на анмаунт – аборть все)

Сергей
20.02.2017
16:53:46
Об этом и говорю что надо думать над архитектурой, а не запросы отменять

Admin
ERROR: S client not available

Алексей
20.02.2017
16:54:11
блин, хотелось бы кейс увидеть, где надо "отменить" запрос

Сергей
20.02.2017
16:54:15

Vlad
20.02.2017
16:54:24
а я об этом и спрашиваю, есть ли удобная архитектура для решения проблем асихронного общения с сервером)

Сергей
20.02.2017
16:55:08

Олег
20.02.2017
16:55:44

Vlad
20.02.2017
16:56:02
хорошо, мы не отменяем запросы

Сергей
20.02.2017
16:56:07

Vlad
20.02.2017
16:56:10
как тогда бороться с гонкой запросов

Mike
20.02.2017
16:56:24
нумеруй их

Сергей
20.02.2017
16:56:30

Mike
20.02.2017
16:56:30
и отбрасывай результаты старого

Google

Vlad
20.02.2017
16:56:49
О, вариант

Сергей
20.02.2017
16:56:55
Как можно меньше компонентов запрашивающих данные

Vlad
20.02.2017
16:57:03
Скрины
та сложно, воспроизвести такой кейс)

Сергей
20.02.2017
16:57:12

Mike
20.02.2017
16:57:24
я так с автокомплитом боролся, когда пользователь набирает все больше инфы и старые запросы приходят позже новых, потому что результатов больше

Сергей
20.02.2017
16:57:43

Vlad
20.02.2017
16:57:47
а ты в автокомплите не отменял запросы?

Mike
20.02.2017
16:58:15
нет, это на ангуляре было и было влом думать, как их сервисом управлять

Vlad
20.02.2017
16:58:29
ааа, окей

Сергей
20.02.2017
16:58:29
Дебаунс вешал

Vlad
20.02.2017
16:59:00
ну дебаунс же не стопроцентная защита от гонок

Mike
20.02.2017
16:59:24
там на некоторых запросах была около секунды задержка старых из-за тонны данных
дебаунс такой большой слишком не френдли
ну и все равно нужно думать, хватило ли поставленного

Quet
20.02.2017
17:00:01
дебаунс + счетчик и игнорить ответы если у них значение счетчика меньше того что приходило раньше

Mike
20.02.2017
17:00:14
ну вот так и сделал в итоге, да

Vlad
20.02.2017
17:00:15

from
20.02.2017
17:00:17

Сергей
20.02.2017
17:00:48

Vlad
20.02.2017
17:01:02
счетчик это гуд, спасибо