
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
ну тут денормализованне данные можно хранить
я тебе вообще про другую боль говорил

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