@react_js

Страница 85 из 5115
S
06.05.2016
11:00:29
кривое решение, получается компоненты у тебя не изолированы, а пишут в одну переменную и в один момент времени можно только один компонент использовать (поправьте меня)

Nikita
06.05.2016
11:01:11
нет, эта проблема имеет неочевидные решения

прикинь автокомплит для чего либо

у тебя есть users и есть query

Google
Nikita
06.05.2016
11:03:10
query суешь в map id => query, где id - это уникальный идентификатор компонента на странице

вот и все решение, оно к redux не имеет отношения

S
06.05.2016
11:04:30
ох

напридумывали себе проблем)

Nikita
06.05.2016
11:05:24
а как ты иначе решишь?)

S
06.05.2016
11:05:29
без редаксов

Nikita
06.05.2016
11:06:11
и как?

Stanislav
06.05.2016
11:06:16
есть же connect декоратор, этого недостаточно? или я что-то недопонимаю

Nikita
06.05.2016
11:06:23
вот у тебя есть глобально users и есть кучка query

S
06.05.2016
11:07:04
вот проблема в этой глобальности, у каждого компонента должен быть свой кусочек в сторе, и другой компонент может у него что-то спросить

нету тут принципа "Разделяй и властвуй"

Nikita
06.05.2016
11:07:25
хитрый какой

я 1 раз данные хочу с сервера брать

Google
Алексей
06.05.2016
11:07:46
и каким образом он сможет спросить у другого компонента данные?

S
06.05.2016
11:07:55
reselect

Nikita
06.05.2016
11:08:11
reкостыль это в данном случае

S
06.05.2016
11:08:16
другой компонент знает в какой переменной он хранит данные

не, это формализация полномочий компонентов

Nikita
06.05.2016
11:09:13
вот у тебя есть апишка, она отдает юзеров. Вот у тебя есть инпут, там должен быть автокомплит по юзерам

тебе нужно 1 раз загрузить всех юзеров, а дальше фильтровать

твои действия без redux/flux

S
06.05.2016
11:09:33
у меня их мильон

зачем их грузить

Nikita
06.05.2016
11:09:51
не, а у тебя из 20

ты решаешь разные задачи и говоришь, для этой задачи redux не подходит. Ну да, такое может быть) Разные инструменты под разные задачи

S
06.05.2016
11:10:46
20 юзеров это из разряда хеловорд приложения

Nikita
06.05.2016
11:10:59
ничего подобного

вот у тебя есть чат, и в нем есть контакты юзера

их обычно не больше 100. Вполне себе кейс

Алексей
06.05.2016
11:11:49
мы на работе сейчас разрабатываем crm для наших менеджеров, а их 20-30 штук от силы

а crm далеко не hello world

S
06.05.2016
11:11:55
ну ок, эти данные я могу хранить на клиенте, я могу их даже предзагрузить и нормализовать, чтобы без асинхронного говна было

Nikita
06.05.2016
11:12:29
ага и будешь хранить глобально, так?)

Google
S
06.05.2016
11:13:58
через контекст проброшу от самого рутового компонента

Stanislav
06.05.2016
11:14:12
может стор привязывать к сущностям, а не к компонентам? Компоненту надо работать с юзерами — забирает себе в пропсы юзеров.

S
06.05.2016
11:14:19
если их всего 20 - это можно рассматривать как настройку приложения

Nikita
06.05.2016
11:14:37
збс, а теперь у тебя таких списков 20

все будешь через контекст пробрасывать?

Stanislav
06.05.2016
11:17:41
@connect(state => ({ users: state.users })) хоть в самом глубоком компоненте же. Зачем от рутового?

чет не догоняю в чем проблема

S
06.05.2016
11:18:50
все будешь через контекст пробрасывать?
20 списков, это типо у каждого юзера свои контакты?

ну тут денормализованне данные можно хранить

я тебе вообще про другую боль говорил

Nikita
06.05.2016
11:19:51
это типо есть контакты, теги, группы, смайлы, и куча других списков, для разных приложений. По которым хочется фильтровать/искать и тд

S
06.05.2016
11:20:05
что компонент должен знать свой путь до своих переменных в сторе

S
06.05.2016
11:20:11
причем полный путь

Nikita
06.05.2016
11:20:30
да, мне это тоже не нравится

вместо этого можешь использовать flux, где кучка сторов

S
06.05.2016
11:20:50
и если данные одного контейнера вложены в другой, дочерний контейнер должен знать путь родительского

Nikita
06.05.2016
11:20:53
это в 100 раз хуже

S
06.05.2016
11:21:10
ну зоопарк тоже разводить не хочется, уже редакс на проекте

Nikita
06.05.2016
11:21:39
я к тому, что flux решает эту проблему, но создает другую

S
06.05.2016
11:21:48
можно конечно multireducer попробовать, но там нет возможности спросить данные какого то конкретного компонента

Google
Nikita
06.05.2016
11:24:21
просто держи селекторы в отдельном файле, вот и все)

S
06.05.2016
11:24:29
остается только самому писать велосипеды с фабриками экшенов и редьюсеров

ну да, так и придется

Nikita
06.05.2016
11:25:13
так у тебя кроме недовольства есть решение?

как лучше-то?

S
06.05.2016
11:25:22
нету

думал, может кто нить че нить придумал)

Admin
ERROR: S client not available

S
06.05.2016
11:26:39
можно конечно не хранить данные в редаксе до тех пор, пока их не нужно шарить между несколькими компонентами

но это немного подрывает идеологию

Nikita
06.05.2016
11:27:14
почему?

S
06.05.2016
11:27:38
ну если бы так можно было делать, я думаю в гайдах бы это упомянули :)

Алексей
06.05.2016
11:28:15
ну по идее же только контейнеры общаются со стором

а компоненты могут хранить в себе все что захотят

вот и получатся, что в сторе только те данные, которой нужно обмениваться

которыми*

вот есть кнопка, при нажатии на которую появляется форма, при повторном нажатии форма закрывается. И не обязательно сувать состояние кнопки в стор, если этим состоянием пользуется только одна кнопка. И наделайте кучу таких кнопок, каждая будет знать только про себя

Nikita
06.05.2016
11:34:37
не факт)

хотя у кнопки нет состояния

Алексей
06.05.2016
11:35:52
ну почему же, есть, active: true/false

Google
Алексей
06.05.2016
11:36:03
если мы нажимаем, когда active:true скрываем форму

и наоборот, допустим

Nikita
06.05.2016
11:36:30
когда ты нажимаешь на кнопку срабатывает onClose/onCancel

Алексей
06.05.2016
11:38:23
ну это да, только выбор какой метод вызвать зависит от active, не думаю, что здесь действительно надо хранить это состояние в родителе и изменять его в том же onClose/onCancel

Nikita
06.05.2016
11:39:09
а если закрыть извне надо будет?

Алексей
06.05.2016
11:39:36
Тогда уже другой вопрос)

либо перенести на state выше, либо запихивать в стор

если родители разные, допустим

Nikita
06.05.2016
11:40:26
вот и получается, что каждое измнение - рефакторинг всего компонента

somename85
06.05.2016
13:22:07
Народ, кто-нить знает, как в react-native запихнуть в Animated.Image потомка? Дабы использовать по аналогии с <Image> <Text> foo </Text> </Image>Сейчас при анимации изображения вылетает "Cannot read property 'style' of undefined" (

Andrew
06.05.2016
13:41:08
народ, кто может за денюжку провести небольшой ликбез по ssr и вебпаку часа за два-три?

anoru
06.05.2016
13:46:32
@andrew_r да зачем за денежку. Пиши сюда. Чем сможем - поможем)

Andrew
06.05.2016
13:46:46
не, мне прям основательно надо с одним проектом подразобраться)

поэтому и думаю, может кому интересно будет этаким менторством заняться

vitaliy
06.05.2016
13:59:04
@andrew_r прочекай просто https://github.com/kriasoft/react-starter-kit везде одно и тоже в принципе

смотря на чем бэк конечно)

Andrew
06.05.2016
13:59:36
прочекивание таких штук не даст понимание того, как это работает под капотом)

а разбираться самому долго

бэк нужен на ноде

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