
Дмитрий
08.03.2018
20:12:25
Для меня невозможность подписаться на эмит события это первое препятствие на пути к человеческой декларативной записи
Так как подписываться можно вдалеке от места использования

Дмитрий
08.03.2018
20:14:20
То есть подписки в редьюсерах и эпиках не хватает?

Дмитрий
08.03.2018
20:14:28
В частности, я не упомянул, но эффекты (делегаты асинхронных функций) никогда не падают в throw если ты сам не попросишь, можно просто вызывать функцию как обычно, а все падения этой функции перехватывать в отдельном модуле, при желании

Google

Дмитрий
08.03.2018
20:15:10
watch — это просто ещё один шаблон, который мне надоело каждый раз писать самому)
Это враппер, превращающий эпик в функцию

Дмитрий
08.03.2018
20:15:18
Ты не беспокоишься, что в какой-то момент можешь потерять контроль над тем, кто на кого подписан?

Дмитрий
08.03.2018
20:19:38
Плюсом у меня можно вообще ничего не возвращать, эпикам и ватчам будет пофигу, будет валидный экшн — задиспатчат в стор, не будет — не надо
Плюс все эпики больше не привязаны к одному combineEpic объекту, ведущему в стор, а расположены там где и должны быть — рядом с кодом который его использует
Попробуй объявить с помощью redux-most эпик в папке с компонентом
(спойлер — не выйдет, будешь волочить все эпики до стора лично)

Дмитрий
08.03.2018
20:23:29
Спасибо
Хз, я стараюсь делать максимально проще всё

Дмитрий
08.03.2018
20:24:14

Google

Дмитрий
08.03.2018
20:25:02

Дмитрий
08.03.2018
20:25:21

Дмитрий
08.03.2018
20:25:28
У тебя просто как факт в исходных данных находится тип данных протяжённый во времени

Дмитрий
08.03.2018
20:25:36

Дмитрий
08.03.2018
20:26:12
Ввод текста, вывод текста, поиск к подгрузкой, параллельное выполнение действий, оповещения
Блин, весь ui — это делегаты
У нас Events в DOM модели, у нас Events в ядре node.js — весь жс это не прокидыватели пропсов, а обработчики событий

Дмитрий
08.03.2018
20:27:14
Кто ж спорит

Дмитрий
08.03.2018
20:27:51

Дмитрий
08.03.2018
20:28:52
Меня беспокоит, что с watch становится слишком много взаимосвязей, и в какой-то момент можно перестать понимать, что происходит
Но это нужно пробовать на практике, я понимаю

andretshurotshka?❄️кде
08.03.2018
20:29:40
а с эпиками нет?

Дмитрий
08.03.2018
20:30:48
Все абстракции здесь сопоставляются со стандартными функциями и объектами 1 к 1, поэтому бардак в watch означает просто плохой код

Дмитрий
08.03.2018
20:31:17

★nton
08.03.2018
23:31:23
ПРивет, подскажите как сказать компилятору игнорировать ошибку?
которая от ts не от ts-lint

Morsik
08.03.2018
23:31:49
// @ts-ignore

★nton
08.03.2018
23:32:19

Google

★nton
08.03.2018
23:32:28
спасибо

n06rn
09.03.2018
03:41:07
Привет. Что можно сделать с ошибкой, когда переменная может быть одной из глубоко вложенных структур с отличающимися полями?
И хоть перед получением переменной я проверяю на наличие, тайпскрипт все-равно ругается: https://www.typescriptlang.org/play/index.html#src=interface%20IFoo%20%7B%0D%0A%20%20%20%20obj%3A%20(%7B%0D%0A%20%20%20%20a%3A%20string%2C%0D%0A%20%20%20%20b%3A%20number%0D%0A%7D%20%7C%20%7B%0D%0A%20%20%20%20a%3A%20string%2C%0D%0A%20%20%20%20b%3A%20number%2C%0D%0A%20%20%20%20c%3A%20boolean%0D%0A%7D%20%7C%20null)%0D%0A%7D%3B%0D%0A%0D%0Afunction%20handler(data%3A%20IFoo)%20%7B%0D%0A%20%20%20%20if%20(data.obj.c)%20%7B%0D%0A%20%20%20%20%20%20%20%20console.log('c%20is%20'%2C%20data.obj.c)%3B%0D%0A%20%20%20%20%7D%0D%0A%7D

Friedrich
09.03.2018
06:38:41
Но проблема понятна, а более общего решения мне в голову не приходит, к сожалению.

n06rn
09.03.2018
07:00:57

Friedrich
09.03.2018
07:13:38
Как видно, компилятор эту проверку понимает и даже правильно выводит тип внутри защищённого блока.


n06rn
09.03.2018
07:20:34
Спасибо!

Friedrich
09.03.2018
07:21:10
?

Artur
09.03.2018
15:24:17
https://new.pikabu.ru/story/chuzhoy_kod_5762938

Buka
09.03.2018
15:25:04
Что за фрибиткоин у вас в рекламе?
Еще и там где клавп

Andrey
09.03.2018
16:36:31

Сергей
09.03.2018
16:45:04

Andrey
09.03.2018
16:51:21

Сергей
09.03.2018
16:51:42

Andrey
09.03.2018
17:00:15
Именно
Но, в таком подходе есть и проблемы. К примеру, нам нужно в нескольких редьюсерах подписаться на один экшен. В твоей реализации это будет не совсем явно

Сергей
09.03.2018
17:06:25

Andrey
09.03.2018
17:07:43

Google

kana
09.03.2018
17:07:57
и тем не менее в идеале экшоны не должны быть привязаны к редьюсерам вообще, для этого это разделение и сделано

Timur
09.03.2018
17:13:00
Чят, помогите, плез. Въезжаю в тс, не могу понять моменты некоторые.
Вот я юзаю node-redis, например. У меня есть объект, у которого есть свойство redis, которому я присваиваю require('redis'). Как мне этому свойству указать тип, у которого есть, допустим, все экспорты, которые есть у модуля redis?
Получаю ошибку error TS2709: Cannot use namespace 'redis' as a type.

Eugene
09.03.2018
17:29:31
Чят, помогите, плез. Въезжаю в тс, не могу понять моменты некоторые.
Вот я юзаю node-redis, например. У меня есть объект, у которого есть свойство redis, которому я присваиваю require('redis'). Как мне этому свойству указать тип, у которого есть, допустим, все экспорты, которые есть у модуля redis?
Получаю ошибку error TS2709: Cannot use namespace 'redis' as a type.
typeof?

Mikhail
09.03.2018
17:32:27
Чят, помогите, плез. Въезжаю в тс, не могу понять моменты некоторые.
Вот я юзаю node-redis, например. У меня есть объект, у которого есть свойство redis, которому я присваиваю require('redis'). Как мне этому свойству указать тип, у которого есть, допустим, все экспорты, которые есть у модуля redis?
Получаю ошибку error TS2709: Cannot use namespace 'redis' as a type.
Луче подождать ответа более умных людей, но мне кажется, что только any, ибо require всегда возвращает any

Timur
09.03.2018
18:15:58

anatolii
09.03.2018
20:22:33
Чят, помогите, плез. Въезжаю в тс, не могу понять моменты некоторые.
Вот я юзаю node-redis, например. У меня есть объект, у которого есть свойство redis, которому я присваиваю require('redis'). Как мне этому свойству указать тип, у которого есть, допустим, все экспорты, которые есть у модуля redis?
Получаю ошибку error TS2709: Cannot use namespace 'redis' as a type.
Есть специальные пакеты с описанием типов библиотек, ты ставил? @types/node-redis

Friedrich
10.03.2018
03:52:36
Тов. админы, уберите спам, пожалуйста! ↑

Alexander
10.03.2018
11:57:45

Дмитрий
10.03.2018
11:58:58
Скажи кодовую фразу "геттеры не нужны", увидишь как обсуждают)

Andrey
10.03.2018
12:00:32

Friedrich
10.03.2018
12:03:03

Тимофей
10.03.2018
12:07:43
Флоу лучше!

?????∞?
10.03.2018
12:08:36
Слишком толсто (всё так)

Artur
10.03.2018
12:08:48
Просто кто-то пару раз нарвался на геттер с сайдэффектом и теперь вопит что "геттеры не нужны совсем!"

?????∞?
10.03.2018
12:09:00
строгая типизация нинужна

Saphire
10.03.2018
12:09:46
Hmm
Что за бот тут поселился?

Friedrich
10.03.2018
12:38:16

Google

Saphire
10.03.2018
12:39:44
Yup

Friedrich
10.03.2018
12:41:24
Админы не хотят его убрать :(
В смысле, это спамер, но до них пока не удалось донести методику избавления.

Евгений
10.03.2018
16:46:04
А есть ли разница на писать вложеный
.subscribe(..=> ...subscribe())
или последовательно
.subscribe(..=>) ; subscribe(..=>)
?
в двух случая ,будут ли операции синхроны?

Олег
10.03.2018
16:55:45
это плохо