
Denis
25.04.2017
20:25:48
FetchOrderFromDB
Одна функция
Делаем вторую WithLogger

Кирилл
25.04.2017
20:26:30
ну просто в примере на страничке реакта описывается ситуация, где два одинаковых компонента используют разные данные

Google

Кирилл
25.04.2017
20:26:44
почему их простосто не слать пропсом
зачем изворот?

Denis
25.04.2017
20:27:00
FetchOrderAndWriteLog = WithLogger(FetchOrderFromDB)

Кирилл
25.04.2017
20:27:23
а
ну в твоем примере это ясно и оправдано

Denis
25.04.2017
20:27:33
Изменить поведение компонента без изменения кода компонента

Кирилл
25.04.2017
20:27:38
но там
а, т.е. их чащще используют, когда не хотят лезть в уже написаный код и прощще его обернуть?

Denis
25.04.2017
20:29:15
Нет, просто когда нужна модификация
При этом и оригинальное поведение тоже нужно сохранить
Например оно юзаетсч в другом месте
У абрама есть статьи на эту тему

Кирилл
25.04.2017
20:31:06
ладно, тогда какой путь правильнее и логичнее с твоей стороны, при использовани одного компонента для вывода разных данных одинаковой структуры?

Google

Кирилл
25.04.2017
20:31:14
о
а можно ссылочку пож

Denis
25.04.2017
20:32:25
Mixins Are Dead. Long Live Composition – Dan Abramov – Medium
https://medium.com/@dan_abramov/mixins-are-dead-long-live-higher-order-components-94a0d2f9e750
Ну вот еще примеры hoc
Pure из recompose
Автоматом делает scu
Или еще пример
Есть компонент шахматная фигура которая принимает пропсом цвет
Делаешь два hoc'a белая фигура и черная фигура, оба врапят компонент шахматной фигуры
Но статично прописывают цвет

Кирилл
25.04.2017
20:36:10
ну по сути исход и смысл один и тот же ж
вопрос в общем то в том при каких обстоятельствах действительно нужно вместо пропов юзать hoc
когда написание + нескольких строчек оправдано

Aleh
25.04.2017
20:37:21
Посмотри recompose

Кирилл
25.04.2017
20:37:29
окей
я почитаю статью, посмотрю, надеюсь вопросы отпадут)
спс))

Denis
25.04.2017
20:38:11
Когда какую-то логику нужно активно реиспользовать
WrapWithLoader на асинхронные компоненты
Логика: показывать спиннер на время загрузки данных

Google

Denis
25.04.2017
20:39:51
С возможностью применить для любого компонента
И тому подобное

Кирилл
25.04.2017
20:41:00
понял, спасибо)

Artem
25.04.2017
20:54:59
Ребята, перехожу с redux-thunk на redux-saga
Разбираюсь и возникает вопрос, стоит ли юзать в саге заместь генераторов async/await, и не навредит ли оно?

Denis
25.04.2017
21:02:05
Боже тебя упаси
Зачем тебе сага

Nikita
25.04.2017
21:04:59

KlonD90
25.04.2017
21:05:07
объясните чем крута сага

Denis
25.04.2017
21:05:31
Сага не для фетчинга данных, не для api, вообще сложно придумать для чего она в рамках обычного приложения
Слез с нее на redux logic
Можно еще redux-observable

Ywein
25.04.2017
21:06:59

Pavel
25.04.2017
21:07:09
redux logic как то cb hell напоминает
хотя это на первый взгляд

Denis
25.04.2017
21:07:28
В первом take latest, debounce и много плюшек из коробки

Pavel
25.04.2017
21:07:31
как то дофига кода, не находите?

Denis
25.04.2017
21:07:35
Ща реальный код покажу

Alya
25.04.2017
21:09:16
всем привет.Вы не расскажите куда можно вакансию разместить?)

Yumi
25.04.2017
21:09:34

Google

Denis
25.04.2017
21:09:50
в саге куча бойлерплейта
изкоробки
это все что в ней есть полезного
«полезного"

Дмитрий
25.04.2017
21:10:13

Denis
25.04.2017
21:10:14
https://gist.github.com/DenisNeustroev/bd1d776a2cbf4e6ded5a5c38759186a3

Alya
25.04.2017
21:11:02

Denis
25.04.2017
21:11:07
как саги динамически инжектить?
никак

Admin
ERROR: S client not available

Denis
25.04.2017
21:11:17
только ручками

KlonD90
25.04.2017
21:12:02

Denis
25.04.2017
21:12:04
в лоджик есть + автоматический диспач
{ client }
в обьекте инициализации лоджика прокидваешь нужные зависимости
в том числе и axios
в моем случае это apollo

KlonD90
25.04.2017
21:13:31
а зачем reducer импортить?
О_о
import {
fetchOrder,
fetchOrderSuccess,
fetchOrderFail,
setStatus,
setStatusSuccess,
setStatusFail,
} from './reducer

Google

Denis
25.04.2017
21:16:31
там экшоны

Artem
25.04.2017
21:16:38
На проекте юзаем redux-saga, т.к. для больших проектов сага лучше вроде чем thunk

KlonD90
25.04.2017
21:16:50
а в чем плюс то?

Denis
25.04.2017
21:17:31
плюс чего?

KlonD90
25.04.2017
21:17:55

Yumi
25.04.2017
21:18:09

Denis
25.04.2017
21:18:39
это и константа и экшон в одном

KlonD90
25.04.2017
21:18:51
дуализм?

Denis
25.04.2017
21:18:56
да заебала мня сага
ее тестировать как с ежом ебаться
)
он и в асинк умеет
async process() и погнал
а для вывода ошибок в консоль
Удобно ??

Artem
25.04.2017
21:42:48
Читаю сейчас статью, говорят наоборот удобно
ее тестировать как с ежом ебаться

Denis
25.04.2017
21:48:26
Ну хз, все что нужно сделать чтобы протестировать лоджик это проверить стор после диспатча