@react_js

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

Andrey
18.06.2018
13:17:18
не, я пытаюсь разделить стейт, бизнес логику и компоненты в реакте
Ок, в чём проблема? Возьми effector. Будет тебе и безнес логика, и стейт, и view.

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
Ок, в чём проблема? Возьми effector. Будет тебе и безнес логика, и стейт, и view.
и возможно ssr, не я согласен, что возможно di излишне

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

Дмитрий
18.06.2018
13:18:35
di нафиг не нужен в реакт приложении.
Не нужна исключительно их странный подход к этому

Andrey
18.06.2018
13:18:58
И di ?
Ну, не совсем)

Arthur
18.06.2018
13:19:14
точно так же
ну а зачем ?

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

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 }

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

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

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:18
Далее можно просто спускаться по дереву features

Alex
18.06.2018
13:27:25
Я просто думал над подобием эффектора, но нормального решения контекста не придумал.
контекст в идеале ты берёшь из объединения нужных тебе частей стора

Google
Andrey
18.06.2018
13:27:52
контекст в идеале ты берёшь из объединения нужных тебе частей стора
Я хочу иметь независимые части из коробки, а не "костылить с контекстом".

Сергей
18.06.2018
13:28:16
И как? Есть подвижки?
небольшие проблема скорее в api чем в имплементации

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
Почему?
ивенты и сторы нужно класть в замыкание

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 в именах файлов

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
?интересно для чего понадобилось убрать hash O_O
чтобы избавиться от проблемы подключения бандла в штмл, очевидно же

Сергей
18.06.2018
13:39:20
Дмитрий
18.06.2018
13:40:27
О, кстати можно же это сделать на основе StoreConsumer

Вот идею того, что выбирать по йдишнику, если будет концепция разумная, то я просто добавлю ограничения чтобы триггерились только эвенты в нужном приложении и всё

Тома
18.06.2018
13:41:39


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

Google
Дмитрий
18.06.2018
13:48:03
Хотелось бы вообще уйти от явного id.
Ну я так и ушёл, так как написав этот код, получаю инверсию зависимостей по желанию во всем остальном коде

Я просто считаю что ооп-di тупо забыл зачем оно всё нужно было

Andrey
18.06.2018
13:49:42
Ну я так и ушёл, так как написав этот код, получаю инверсию зависимостей по желанию во всем остальном коде
Не понял тебя. В примере явно используется id. Я предположил, что создавая стор в замыкании, он получится локально для каждого компонента. Сова сказал, что так работать не будет(хз почему).

Дмитрий
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
Для большинства задач он нафиг не сдался.

Страница 4213 из 5115