
Abu
17.05.2018
19:03:04
Эффектор же вроде решает проблему локального стейта? Ну типа стейт собирается не снизу вверх, а наоборот?

Dmitry
17.05.2018
19:04:11
а ивент это просто жсон обьект

Сергей
17.05.2018
19:04:19

Google

Сергей
17.05.2018
19:04:35

andretshurotshka?❄️кде
17.05.2018
19:04:42
каких провайдеров?

Сергей
17.05.2018
19:05:04

Dmitry
17.05.2018
19:05:39
завязываешь на тот ивент который ты получил *

Сергей
17.05.2018
19:05:44

Dmitry
17.05.2018
19:06:02
с пула ивентов, глобального, доменного
какого-то

Сергей
17.05.2018
19:06:10
чувак, ты что там усложняешь так.
это фронтенд, ты не mtproto реализуешь
ты хочешь чтобы поток исполнения стал максимально неочевиден?
ивент машина сама по себе дико не очевидна, а если ещё убивать связь между хендлерами ивентов, то станет максимально непонятно

Google

Dmitry
17.05.2018
19:07:38
ну в идеале я вижу, что все выглядит как будто оно связанное, но на самом деле все операции несвязанны между собой

andretshurotshka?❄️кде
17.05.2018
19:07:43

Dmitry
17.05.2018
19:07:49
да завезли

Сергей
17.05.2018
19:07:50

andretshurotshka?❄️кде
17.05.2018
19:08:06
const FormStore = createStoreConsumer(form)
const Form = () => (
<FormStore>
{form => (
<form onSubmit={resetForm}>
<input type="text" onChange={e => changeText(e.currentTarget.value)} />
<button onClick={resetForm}>reset</button>
</form>
)}
</FormStore>
)

Dmitry
17.05.2018
19:08:18
залог разширяемой архитектуры

Сергей
17.05.2018
19:08:31

andretshurotshka?❄️кде
17.05.2018
19:08:35

Сергей
17.05.2018
19:08:40
это не работает
не надо превращать код в лапшу, лишь бы соответствовать неким наветам

Дмитрий
17.05.2018
19:09:16

Dmitry
17.05.2018
19:09:36
лапша это тупо сильносвязанный код
а я наоборот стемлюсь это минимизировать
ну как, я делаю то, что решает проблему и паралельно тестирую подходы

Сергей
17.05.2018
19:10:49
всего должно быть в меру
подходы нужно использовать только когда они уместны
чрезмерное употребление паттернов превращает проект в кашу

Google

Сергей
17.05.2018
19:12:28
в частности в ридаксе и в санках, подменять реализацию — не нужно
и можно спокойно жить без событий (в большинстве случаев)
а саговская возможность ожидать событий создает дикую проблему в понимании кода
диспатчнул событие в одной части сервиса, а откликнулось в другой
и хер ты узнаешь как так, пока не прочитаешь все саги или не воспользуешься поиском
это хреново

Andrey
17.05.2018
19:12:45

Дмитрий
17.05.2018
19:13:04
Саговское ожидание — это то, как делать тупо не нужно
Акторы принципиально работают без блокировок

Сергей
17.05.2018
19:14:46

Дмитрий
17.05.2018
19:14:54
Нет

Dmitry
17.05.2018
19:15:13

Дмитрий
17.05.2018
19:15:23
Принципиально без блокировок значит что экшны тоже не ждёт))

Dmitry
17.05.2018
19:15:38
а в чем профит этого подхода ?

Vlad
17.05.2018
19:15:38
Посоветуйте аплоадер годный ? Чисто чтоб апи было, без представления

Cenator
17.05.2018
19:16:15

Vlad
17.05.2018
19:16:43

Vlad
17.05.2018
19:17:20
А с блекджеком?

Andrey
17.05.2018
19:18:58

Nutscracker
17.05.2018
19:25:13
в общем вопрос остается открытым для меня, как организовать некий файл роутер для апи ссылок? Или пакет какой нибудь посоветуйте удобный если знаете плиз. Вот например у меня есть просто статический линк который просит сервак вернуть список категорий, и линк в котором передается параметр к примеру author/2 или вообще линк для datatable где могут передаваться всякие сортировки и фильтры. Или вообще не морочить голову и оставить эти ссылки разбросанные по коду?

Дмитрий
17.05.2018
19:28:38

Сергей
17.05.2018
19:29:17

Дмитрий
17.05.2018
19:29:19
Так што попрошу без поклёпа тут))

Сергей
17.05.2018
19:29:20
ааа
синхронный?

Google

Дмитрий
17.05.2018
19:29:34
Да
Более того, он статический

Сергей
17.05.2018
19:29:42
но ты же собираешь все свои кусочки в один большой?

Дмитрий
17.05.2018
19:30:09
Это называется граф зависимостей

Obi
17.05.2018
19:30:45
Это пример правильного кода , когда из компонентов ты собираешь что либо
?

Andrey
17.05.2018
19:32:18

Obi
17.05.2018
19:32:32
?

Дмитрий
17.05.2018
19:32:52

Admin
ERROR: S client not available

Дмитрий
17.05.2018
19:33:04

Obi
17.05.2018
19:33:14
Хааха

Сергей
17.05.2018
19:33:41
а кодом как выглядит?

Дмитрий
17.05.2018
19:41:56

Сергей
17.05.2018
19:46:29
а куда сайдеффекты и асинхронщину?

Dmitry
17.05.2018
19:49:26
еффекты есть

Дмитрий
17.05.2018
19:49:32
а куда сайдеффекты и асинхронщину?
Асинхронные реквесты реализуются с помощью эффектов, это контейнеры для таких функций, чтобы хэндлить их статически. Вызываешь где угодно, ошибки ловишь где оптимальнее
В случае простой асинхронной функции (я подразумеваю, что в эффект оборачиваетс что-нибудь типа запроса в банк) достаточно .watch

Сергей
17.05.2018
19:50:52
нужна дока с примерами и пояснениями

Google

Дмитрий
17.05.2018
19:51:25
Всем нужна, но у меня в сутках не так много времени)

Abu
17.05.2018
19:52:40
Кажись тебе пора нанять помощника

Dmitry
17.05.2018
19:53:58
если бы я юзал еффектор, то я бы написал бы доку
но вот меня как-то не убедило еще)

Vladimir
17.05.2018
19:54:37

Дмитрий
17.05.2018
19:54:48
Я уже спал на этой неделе

Vladimir
17.05.2018
19:55:14
а за месяц сколько раз?

Дмитрий
17.05.2018
19:56:14
Раз на раз не приходится

Vladimir
17.05.2018
19:58:04

Дмитрий
17.05.2018
19:58:53

Vladimir
17.05.2018
19:59:13
о
тележка

Дмитрий
17.05.2018
19:59:23
Не могу правда сказать, что горжусь текущей имплементацией))

Dmitry
17.05.2018
20:00:31
главное сам звездочку не поставил)

Vladimir
17.05.2018
20:00:31
Нус, завтра пойду разбираться
А то на работе делать особо нехер

Дмитрий
17.05.2018
20:01:44
Первая версия эффектора https://github.com/zerobias/telegram-mtproto/tree/de7a54941c4965380258db1d9ca2a14de3bc6cbe/packages/telegram-mtproto/src/util/action

Anima
17.05.2018
20:14:58

Andrey
17.05.2018
20:16:42
componentDidMount
Если он про определенный див во всем скоупе, созданном в "одном файле", то нет, не так

Anima
17.05.2018
20:18:35
Не так

Alex
17.05.2018
20:20:57