
Дмитрий
07.07.2017
12:50:32
Тс ориентируется на жс, именно поэтому там декораторы под флагом (по крайней мере были) — потому что они хотят быть "будущим js" и имплементить такие вещи наперёд, чем отделяться в несовместимый диалект

Oleg ?
07.07.2017
12:53:07
Пожалуй воздержусь

Дмитрий
07.07.2017
12:53:39
Ну вообще это удобно) Мне прям не хватает декораторов на функции из тс

kana
07.07.2017
12:54:02
Ну функциях да, было бы неплохо

Google

shadowjack
07.07.2017
12:55:06
Народ, а если проект сделан на Thunk, можно на saga переводить постепенно, т.е. их параллельно использовать?

kana
07.07.2017
12:55:38
Да

Anton
07.07.2017
12:56:03

kana
07.07.2017
12:56:43
Упрощение кода же. Простые экшоны, отделение логики в отдельное место

shadowjack
07.07.2017
12:58:55
В чём профит?
Тестировать проще, если логика не тривиальная то и писать проще.

Дмитрий
07.07.2017
12:59:47
Ну всё писать на генераторах это так себе
pull vs push

shadowjack
07.07.2017
13:00:17
Не все, только миддлварю.
Генераторы там дают по факту короутины

Дмитрий
07.07.2017
13:00:57
Да я в курсе) Просто не вижу профита по сравнению с redux-observable
Кейсы, когда требуется именно генератор — крайне редки

kana
07.07.2017
13:01:29
Во, мне нравятся обсервабл, но не хватает хелперов типа select
Мало того, вот мне нужно было в эпике получить данные из локалСтора

Google

kana
07.07.2017
13:02:18
Операция impure

shadowjack
07.07.2017
13:02:35

kana
07.07.2017
13:02:40
Делать ее прямо внутри трансформации мне не хочется
А как абстрагировать это в потоки какие-нибудь я хз
Хотел ток спросить про это

Дмитрий
07.07.2017
13:03:20

kana
07.07.2017
13:04:57
Ну вот саги позволяют сайд-эффекты описывать
Чтобы их легко тестить

Дмитрий
07.07.2017
13:05:25
А, лол, стоять

kana
07.07.2017
13:05:33
Такой полуIO-путь

Дмитрий
07.07.2017
13:05:37
А в чём проблема сделать то же самое в отдельной функции?
Просто не нра?)

shadowjack
07.07.2017
13:05:50

kana
07.07.2017
13:05:56
Так функция останется же грязной

Сергей
07.07.2017
13:06:16
кто-нибудь пробовал юзать babel preset от create-react-app, пропатчив его на использование декораторов с тем же cra?

Дмитрий
07.07.2017
13:06:16
А какая разница?

kana
07.07.2017
13:06:39
Сага при этом полностью чистая, заметь)
И ее легко протестить

Evgeny
07.07.2017
13:06:52
Ебанул короче сср к ск

Google

Evgeny
07.07.2017
13:07:02
Изи чизи

Дмитрий
07.07.2017
13:07:09
И ее легко протестить
не вижу преимуществ
Я бы вообще назвал это обязательным требованием а не отдельным достоинством

Сергей
07.07.2017
13:08:16

Evgeny
07.07.2017
13:08:24
?

Сергей
07.07.2017
13:08:51
как бы привязать декораторы без eject

Evgeny
07.07.2017
13:09:22
Не использую, так что хз
Но вообще ты просто делаешь свой бабелрс и всё
https://github.com/facebookincubator/create-react-app/blob/master/packages/react-scripts/template/README.md#can-i-use-decorators

Алексей
07.07.2017
13:17:39

Сергей
07.07.2017
13:18:33

andretshurotshka?❄️кде
07.07.2017
13:19:30

Сергей
07.07.2017
13:19:32
для babel 6 нужно юзать babel-plugin-transform-decorators или babel-plugin-transform-decorators-legacy?

kana
07.07.2017
13:23:37
Точно

Anton
07.07.2017
13:24:20
Я считаю, что лучше не юзать mapDispatchToProps в контейнерах, а вызывать экшены так:
const { dispatch } = this.props;
dispatch(incAction());
Не охота передавать кучу экшн креаторов в пропсы.
Как делаете вы?

kana
07.07.2017
13:24:22
В сайкле же куча драйверов
Для ls должен быть точно

Дмитрий
07.07.2017
13:24:42

Google

kana
07.07.2017
13:25:03
Это однозначно ни разу не лучше

Дмитрий
07.07.2017
13:25:07
Вредная даже

Сергей
07.07.2017
13:25:13

Дмитрий
07.07.2017
13:25:18
0/10 по шкале абрамоугодности

Evgeny
07.07.2017
13:25:35

kana
07.07.2017
13:25:36
Фишка mapDispatch в том, что вьюха ничего не знает про редакс

Evgeny
07.07.2017
13:25:37
Объясню
Если я сделаю dispatch(x()), то если у меня x не заимпорчен, то еслинт выдаст ошибку

Admin
ERROR: S client not available

kana
07.07.2017
13:25:59
Мы можем заменить хэндлер в смарте на любой другой, даже редакс выпилить
А вьюха останется той же

Evgeny
07.07.2017
13:26:18
Но если я делаю this.props.x(), то придется ждать undefined is not a function в рантайме

Сергей
07.07.2017
13:27:14
народ, вы dispatch цепляете из пропс или юзаете store.dispatch?

Evgeny
07.07.2017
13:27:17
1

kana
07.07.2017
13:27:58
Из connect

code4aman
07.07.2017
13:29:17

Сергей
07.07.2017
13:29:19
начала делать импорт модуля store и юзать из него dispatch
таким образом dispatch можно юзать где угодно, остается открытым вопрос не больше ли памяти ест каждый такой импорт

Evgeny
07.07.2017
13:30:23

code4aman
07.07.2017
13:31:21
гадать по x is undefined или что там будет :(

Google

Сергей
07.07.2017
13:32:46
не удалост завести декораторы в кра через .babelrc
пробую так
{
"presets": ["react-app"],
"plugins": ["transform-decorators-legacy"]
}

shadowjack
07.07.2017
13:58:02
Народ, а вы пишите e2e тесты?

Mike
07.07.2017
13:59:41
ебалоTOебало?

shadowjack
07.07.2017
14:01:09

Сергей
07.07.2017
14:01:54

kana
07.07.2017
14:02:30
Зачеркнутый прямоугольник (символ не найден) - сова?

Mike
07.07.2017
14:02:49
да

Сергей
07.07.2017
14:02:52
если юзеры будут продолжать писать хуйню не читая пина, я сделаю бота, который будет дважды в день присылать этот пин в чат!

Andrey
07.07.2017
14:02:56
Пин?

Дмитрий
07.07.2017
14:03:03

Сергей
07.07.2017
14:03:51

Сергей
07.07.2017
14:05:40
мб syntax-decorators тоже надо?!
не помогло
./src/containers/Root.jsx
Syntax error: Unexpected token (8:0)
6 | }
7 |
> 8 | @superhero
| ^
9 | class MySuperHero {}
10 | console.log(MySuperHero.isHero);
11 |

Сергей
07.07.2017
14:05:58
установить не забыл?
перезагрузить вебпак не забыл?
какая версия бабеля и вебпака?!

Сергей
07.07.2017
14:06:28

Сергей
07.07.2017
14:06:33
мне ещё раз пин прислать?

Default
07.07.2017
14:06:41
Кек