
Дмитрий
08.11.2016
19:21:04
http://redux.js.org/docs/introduction/Motivation.html

True
08.11.2016
19:21:52


Andrey
08.11.2016
19:27:50
\Зачем редукс если есть контекст!\

Renat
08.11.2016
19:28:24
Для интеграции с бекендом

Google

Arsen
08.11.2016
19:28:44
Понятно. Спасибо за ответы. Просто всегда сомневаюсь в том использовать или нет. Помимо прочего в редаксе - девтулс привлекает. Кто-нибудь пользовался в продакшене? От него в плане выявления багов или каких-либо сопутствующих проблем на фронтенде по сути должен быть достаточно большой профит (по сути полный контроль за состоянием приложения). Хотелось бы услышать фидбек о нём. Сам щупал - только в примерах.

Viktor
08.11.2016
19:31:22
С редуксом все круто, после чистого флакса контроль понравился куда больше, но есть некоторые неоднозначности, например, выполнение одноразовой команды либо обнуление ошибок, пришедших с бэкенда
Собственно это свойственно и чистому флакс

Дмитрий
08.11.2016
19:33:02

Viktor
08.11.2016
19:35:41
Не очень красиво обнулять их в куче мест по типу cwu и cwrp, особенно когда у тебя был stateless компонент

Andrey
08.11.2016
19:37:30
А что за потипу cwrp cwu?

Viktor
08.11.2016
19:38:20
componentWillReceiveProps и unmount

Andrey
08.11.2016
19:38:55
Джаваскрипт ошибки или про что речь?

Viktor
08.11.2016
19:39:45
Ошибки, которые api возвращает

Дмитрий
08.11.2016
19:39:54
В итоге компонент будет сразу получать готовые данные, и делать ничего не придётся
Если я правильно понял

Andrey
08.11.2016
19:41:36

Google

Дмитрий
08.11.2016
19:41:44
В этом же как раз фишка redux, что обработка данных, приходящих из экшнов может быть довольно сложной, но при этом абсолютно плоской и читаемой

Viktor
08.11.2016
19:41:50
Вопрос в том, когда его очищать
Пример админки: мне ошибка нужна на экране пока компонент в доме, если я переду в другое место и вернусь то ошибка мне уже не нужна
А повторного апи запроса не будет, т.к. данные уже в кэше

Andrey
08.11.2016
19:44:13
В сторе или в каком кеше?

Viktor
08.11.2016
19:45:10
Да, в сторе

Дмитрий
08.11.2016
19:48:59
Ну тут без твоего варианта наверное никуда

Brs
08.11.2016
20:59:58
Можно данные фетчить перед тем, как рендерить компонент

Илья
08.11.2016
21:02:28
.
.

Brs
08.11.2016
21:02:56
Можно ошибки в объекте хранить
Может умные люди еще чего хорошего посоветуют

Илья
08.11.2016
21:04:40
мимо чатом

[Anonymous]
08.11.2016
21:04:46

Brs
08.11.2016
21:10:19
Во, redial
Сколько всякого говна на re придумали
https://medium.com/@taion/react-routing-and-data-fetching-ec519428135c#.fyfv8dttu
Или вот еще статья на тему

Дмитрий
08.11.2016
21:18:43

Brs
08.11.2016
21:20:43
Вообще это не выглядит как проблема именно редакса

Google

Konstantin
09.11.2016
14:01:54
Как правильно реализовать такое поведение с Redux и redux-thunk?
Хочется, чтобы пока идет http-запрос, показывался спиннер, а после завершения запроса спиннер заменялся на слово «Сохранено», которое бы в свою очередь исчезало через Х секунд.

Eugeniy
09.11.2016
14:04:27
когда отправляешь запрос делаешь стейт return { ...state, fetching: true }; когда данные пришли return { ...state, fetching: false }; ну и с таймером показываешь в компоненте сохранено

Konstantin
09.11.2016
14:05:23
Т.е. флаг показа Сохранено хранить в самом компоненте?

Eugeniy
09.11.2016
14:06:08
ну да, почему нет? Ну если хочешь, можешь ещё 1 экшен выделить для этого
либо уведомления вообще выделить в отдельный компонент

Konstantin
09.11.2016
14:06:41
Ясно. Да попробовал с ещё одним экшном сделать и что-то много лапши стало :)

Eugeniy
09.11.2016
14:06:42
типо тостов
я просто сделал уведомления в отдельный компонент и все

Konstantin
09.11.2016
14:07:03
Понял. Спасибо :)

Eugeniy
09.11.2016
14:07:03
на нужные события подписываешься и все

Konstantin
09.11.2016
14:07:44
Да, это, кстати, следующая задача — тосты показывать на действия

Nahasaki
09.11.2016
14:18:14
ебть, что это за синтаксис?

Eugeniy
09.11.2016
14:18:29
?

Nahasaki
09.11.2016
14:18:35
переменные для названия методов?
ну имена методов в квадратных скобках

Eugeniy
09.11.2016
14:18:58
вызываются когда произошел какой-то экшен

Vladimir
09.11.2016
14:18:59
computed properties

Eugeniy
09.11.2016
14:19:09
угу, вычисляются

Nahasaki
09.11.2016
14:19:12
оно утверждено?

Vladimir
09.11.2016
14:19:31
ага

Google

Eugeniy
09.11.2016
14:19:34
да

Vladimir
09.11.2016
14:19:41
1,5 года назад как стандарт
утверждено и того больше
года два, три

Eugeniy
09.11.2016
14:20:02
https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Operators/Object_initializer

Brs
09.11.2016
14:20:25
ахахаха
это законно вообще?
называть методы переменными!!!!

Nahasaki
09.11.2016
14:20:41
а, дошло

Dmitry
09.11.2016
14:20:51
а почему нет то?)

Nahasaki
09.11.2016
14:20:59
это при создании объекта

Dmitry
09.11.2016
14:21:03
называть ключи обьекта же

Vladimir
09.11.2016
14:21:15
https://github.com/lukehoban/es6features#enhanced-object-literals

Nahasaki
09.11.2016
14:22:22
это то же самое что
[sovmeVar]: function(){}
?

Eugeniy
09.11.2016
14:22:34
да
просто в es6 можно не писать function а сразу []() {}

Vladimir
09.11.2016
14:23:05

Alexander
09.11.2016
14:23:35
_

Nahasaki
09.11.2016
14:24:07

Google

Сергей
09.11.2016
14:24:11

Eugeniy
09.11.2016
14:24:41
это в обычном объекте, не в классе

Сергей
09.11.2016
14:26:10
если в объекте
и имя хранится в переменной, то необходимо

Vladimir
09.11.2016
14:26:41

Vladimir
09.11.2016
14:26:42
это может и законно, но попахивает

Eugeniy
09.11.2016
14:40:35

Vitaly
09.11.2016
14:55:43
мне кажется [soneVar`trololo`]: () => {}веселей выглядит)

Vladimir
09.11.2016
14:58:29

Eugeniy
09.11.2016
14:59:02
` не там

Vladimir
09.11.2016
14:59:51
это маркдаун телеграма сломался

Vitaly
09.11.2016
15:00:36
все там
const foo = namespace => action => `${namespace}:${action}`;
const someVar = foo('адын');