
Andrey
18.06.2018
13:16:49

Arthur
18.06.2018
13:16:51
ну, т.е. некоторые принципы можно соблюдать, но без излишнего усердия :)

Andrey
18.06.2018
13:17:18

Andrei
18.06.2018
13:17:32
парни, нужна консультация..
как вы организовываете выбор по умолчанию (допустим из url) в компоненте, значения которой грузяться асинхронно
в саге пытаетесь получить доступ к параметрам url?
или в редьюсере храните дополнительное поле?

Google

Andrey
18.06.2018
13:17:38
Или redux + оболочку к нему.

Alex
18.06.2018
13:17:51

Arthur
18.06.2018
13:18:00
опять же, я привык писать под wpf / uwp / asp core и прочую ернуду, где без этого очень тяжело, поэтому не совсем понимаю, как (и зачем) такое протаскивать в жс

Alex
18.06.2018
13:18:20

Дмитрий
18.06.2018
13:18:35

Andrey
18.06.2018
13:18:58

Arthur
18.06.2018
13:19:14

Alex
18.06.2018
13:19:43
я подумал о DI только из-за возможного разделения приложения на маленькие части или группы, где одна группа может не знать о существовании второй

Andrey
18.06.2018
13:20:42

Arthur
18.06.2018
13:20:56
ну, вообще, для любителей ООП было бы неплохо (наверное) инжектить какие-то сервисы в какие-то компоненты, но вот хз
во всяком случае, так было бы привычнее

Alex
18.06.2018
13:21:09
на пример часть клиента отвечающая за новости не обязана ничего знать о Dashboard и других вещах, с которыми вообще не связана, и соответственно нет никакого смысла держать общую структуру где есть всё на каждый случай

Google

Cenator
18.06.2018
13:21:16
кто-то юзает docz.site? чет не работает NODE_PATH для резолвинга

Сергей
18.06.2018
13:22:18

Cenator
18.06.2018
13:22:24

Сергей
18.06.2018
13:22:35
сделай issue

Arthur
18.06.2018
13:22:57
а как лучше инициализоровать стейт в реакте ?
в редаксе *

Дмитрий
18.06.2018
13:23:53
Ну, не совсем)
Я просто слегка с другой стороны подходил к этому
Но по факту вот: эффекты — это строго типизированные контейнеры для функций, а эвенты под капотом являются минимально возможной инверсией контроля:
const createEvent = () => {
const event = data => event.create(data)
event.create = () => {'default create func'}
return event
}

Andrey
18.06.2018
13:24:16

Дмитрий
18.06.2018
13:24:30
Это как?

Andrey
18.06.2018
13:25:25
Это как?
const App = <>
<C />
<C />
</>
В C используется effector. У них стор будет один или разные?

Дмитрий
18.06.2018
13:25:27

Alex
18.06.2018
13:26:15

Andrey
18.06.2018
13:26:17
Я просто думал над подобием эффектора, но нормального решения контекста не придумал.

Дмитрий
18.06.2018
13:26:48
Глобальный стор — это локальный стор для директории src

Сергей
18.06.2018
13:27:13

Дмитрий
18.06.2018
13:27:18
Далее можно просто спускаться по дереву features

Alex
18.06.2018
13:27:25

Google

Andrey
18.06.2018
13:27:52

Сергей
18.06.2018
13:28:16

Alex
18.06.2018
13:28:24

Andrey
18.06.2018
13:28:37

Дмитрий
18.06.2018
13:28:39
Я признаю, что вчера мне доказали, что контекстные зависимости имеют право на существование, но я по прежнему считаю это довольно редким и сильно специфичным кейсом

Andrey
18.06.2018
13:28:43
Блин, решение то простое.
Вообще либы не касается.
Всё, эффектор идеален)

Сергей
18.06.2018
13:29:17

Alex
18.06.2018
13:29:19

Andrey
18.06.2018
13:30:04
м?
import {createComponentA} from './createComponentA'
const A1 = createComponentA()
const A2 = createComponentA()

Andrey
18.06.2018
13:30:19
А в А хреначим локальные сторы и всё прекрасно.

Дмитрий
18.06.2018
13:30:36
Я уверен, что это однозначно не должны быть компоненты

Сергей
18.06.2018
13:30:40

Andrey
18.06.2018
13:30:40
И тогда контекст нафиг не сдался.

Сергей
18.06.2018
13:30:53
Почему?
ивенты и сторы нужно класть в замыкание

Дмитрий
18.06.2018
13:31:07

Google

Andrey
18.06.2018
13:31:13
Ладно, гляну исходники для лучшего понимания.

Сергей
18.06.2018
13:31:35
@artalar можешь скинуть свой sandbox с решением через createStores, createEvents

Dmitry
18.06.2018
13:32:12
гайс, а что можно юзать кроме react-dates ?

elrok
18.06.2018
13:32:48
Всем привет, подскажите как можно в create react app переопределить конфиг вебпака, чтобы убрать hash в именах файлов

Cenator
18.06.2018
13:36:04

Admin
ERROR: S client not available

Kelin
18.06.2018
13:36:13
)

Andrey
18.06.2018
13:36:33
Блин, у нас есть профи cra. Давайте его звать? Что он просто так в чате сидит?

Eugene
18.06.2018
13:36:38
?интересно для чего понадобилось убрать hash O_O

Cenator
18.06.2018
13:37:43

Сергей
18.06.2018
13:38:27

Дмитрий
18.06.2018
13:39:02

Сергей
18.06.2018
13:39:20

Дмитрий
18.06.2018
13:40:27
О, кстати можно же это сделать на основе StoreConsumer
Вот идею того, что выбирать по йдишнику, если будет концепция разумная, то я просто добавлю ограничения чтобы триггерились только эвенты в нужном приложении и всё

Тома
18.06.2018
13:41:39
кто-нито знает, почему при верхнем варианте дропдаун при нажатии на ссылку (LinkContainer) скрывается, но если выделить 3 обведённые строчки в отдельный компонент (MenuItemLink), то уже не скрывается (не рендерится ServiceMenu)

Andrey
18.06.2018
13:42:21
Это бесполезная нагрузка.

Google

Дмитрий
18.06.2018
13:48:03
Я просто считаю что ооп-di тупо забыл зачем оно всё нужно было

Andrey
18.06.2018
13:49:42

Дмитрий
18.06.2018
13:50:07
А, ну там технические нюансы уже

Andrey
18.06.2018
13:50:12
В итоге выльется, что у нас будут для всех компонентов createAbcComponent функции)

Дмитрий
18.06.2018
13:50:30
Я уже выше написал, я сомневаюсь что это будут компоненты
Компоненты — это view, а тут что-то типа сервисов получается

Andrey
18.06.2018
13:50:49
Т.е. вызывая функцию мы получаем какой-то набор компонентов, привязанных к своему стору.
Надо обмозговать.

Alex
18.06.2018
13:51:14
О, кстати можно же это сделать на основе StoreConsumer
стейт общий - соединение нескольких state part, события - не именовання дичь а ссылочные указатели на часть стейта + новое значение, трансформы/редьюсеры/морфы подключаемые - per state part, в итоге - изменение отправляется в рут, оттуда спускается вниз по подключенным трансформам/редьюсерам/морфам и получаем итоговый стейт
ограничения -
1. Внутренний трансформ/редьюсер/морф не знает о внешнем стейте и не может его менять, внешний трансформ/редьюсер/морф знает всё о внутреннем стейте и может его менять
2. трансформ/редьюсер/морф - чистая функция
3. каждый state part может отдать только свой стейт, селектит от общего

Дмитрий
18.06.2018
13:52:32
Я там про готовое решение писал, сейчас стейт раздается с помощью этого компонента, и этот компонент — без пропсов, вот и подумал, что туда можно добавить желаемые ключи

Andrey
18.06.2018
13:53:42
Можно вопрос из зала: нафига общий стейт?

Дмитрий
18.06.2018
13:53:44
Индуктивно

Andrey
18.06.2018
13:54:00
Для большинства задач он нафиг не сдался.