@react_js

Страница 304 из 5115
Ostap
15.07.2016
05:55:58
могу побольше

Kich
15.07.2016
05:56:04
Я считаю, что не нужно из крайности в крайность. Если есть например компонент в виде datepicker, то не нужно все пропсы этого компонента вытаскивать в глобальный стейт. А если этих дейтпикеров больше чем один, то это превращается в попа-боль. Короче, делайте как хотите, вам потом с этим кодом жить

Алексей
15.07.2016
05:56:20
И вот ты пилишь для каждого запроса свой редьюсер, константу и все такое, что бы загружать данные какие-то с сервера в компонент

Google
Алексей
15.07.2016
05:57:00
Это первая стадия редукса головного мозга, вторая же, просто создать небольшой HOC, который будет отвечать за все простые запросы к серверу. И тогда вообще не нужно будет париться на счет экшенов с загрузкой

Kich
15.07.2016
05:57:33
нужна вся логика в одном месте
даже show/hide дейтпикера? Бредятина

нахер надо

Алексей
15.07.2016
05:57:42
Kich
15.07.2016
05:57:56
бизнес логика отдельно от логики компонентов

Алексей
15.07.2016
05:58:04
Каждый HOC отвечает за свое дело. Только загрузка данных с сервера, например.

Если логика сложнее, то и не нужно ее сувать в этот HOC

Ostap
15.07.2016
05:58:22
бизнес логика отдельно от логики компонентов
т.е. если у тебе есть БИЗНЕС логика спрятать компонент

то это нужно в компоненте ?

а как же re-usage

Ostap
15.07.2016
05:59:14
sek

Google
Kich
15.07.2016
05:59:48
возьми все действия, которые можно делать и раздели их. Я считаю бессмысленым обсуждать эфимерные вещи

без какой либо конкретики

Ostap
15.07.2016
06:00:24
есть 2 селекта

1 зависит от другого

т.е. список 2 селекта зависит от выбора в первом

где держать логику ?

Kich
15.07.2016
06:01:06
возьми компонент посложнее простого селекта/инпута

Ostap
15.07.2016
06:01:18
мы же не про сложность

я про кейс

Алексей
15.07.2016
06:01:25
где держать логику ?
в родительском компоненте? Эти селекты не в воздухе же летают

Ostap
15.07.2016
06:01:31
вооот

это классический подход

где у тебя эсть БИЗНЕС логика в компоненте

так сказать в "умном"

или ViewModel

а вот после перехода на mobx у меня ВСЯ бизнес логика только в сторе

Kich
15.07.2016
06:02:20
печально.

Ostap
15.07.2016
06:02:27
наоборот

почему бизнес логика у тебя в компоненте

Google
Kich
15.07.2016
06:03:07
я те про одно, ты мне про другое

Алексей
15.07.2016
06:03:17
наоборот
ну вот, а теперь представь что у тебя 1000 таких вот компонентов, где есть два селекта? И что тогда делать?

Ostap
15.07.2016
06:03:38
сорри. не оч понял проблему

Kich
15.07.2016
06:03:52
почему бизнес логика у тебя в компоненте
я тебе про то что компонент может быть сложным, а не в виде двух селектов или простых инпутов

https://github.com/quri/react-bootstrap-datetimepicker - вот например

Ostap
15.07.2016
06:04:03
ок

привести пример с пикером ?

Kich
15.07.2016
06:04:20
ты предлагаешь всё говно из компонента выносить наружу?

Алексей
15.07.2016
06:04:23
сорри. не оч понял проблему
ну у тебя же вся логика хранится в одном месте. В сторе. Получается если у тебя есть 1000 одинаковых компонентов, данные для которых хранятся в строе

Ostap
15.07.2016
06:04:29
выбор даты ?

Kich
15.07.2016
06:04:33
Если реально тебе нужен будет только onChange и value

в бизнес логике

Алексей
15.07.2016
06:04:51
то у тебя в сторе будет 1000 одинаковых структур?

Ostap
15.07.2016
06:04:52
стоп. мы друг друга не поняли )

Kich
15.07.2016
06:05:06
Мне тоже так кажется

Ostap
15.07.2016
06:05:15
лол

если ты пишеш либу - мобкс не нужен

напили компонент и дай норм апи как onChange и value

я про бизнес логику выбора даты

например запрещать выбор даты

Google
Алексей
15.07.2016
06:06:19
например запрещать выбор даты
еще один пропс для дэйтпикера и все

зачем это в сторе хранить?

Ostap
15.07.2016
06:06:35
а если зависит от данных ?

Алексей
15.07.2016
06:07:15
Я так понял, Kich говорит о том, что не надо все из компонента доставать. В сторе хранятся только те данные, которые нужны в разных местах

Kich
15.07.2016
06:07:23
да

всё верно

Алексей
15.07.2016
06:07:35
Хранить открыт или нет дэйтпикер в сторе

это извращение

Ostap
15.07.2016
06:07:41
о нет

конечно нет!

Admin
ERROR: S client not available

Ostap
15.07.2016
06:08:02
я про например форму с 25-30 инпутов

Kich
15.07.2016
06:08:05
Просто изначально было утвержение что setState не нужен :)

Алексей
15.07.2016
06:08:34
я про например форму с 25-30 инпутов
Так смотри, у тебя есть компоненты - чаще всего это самый простой ui. Форма из 25-30 инпутов

Это уже не компонент, это уже контейнер

Ostap
15.07.2016
06:08:44
вооот

это класический подход который я использовал

я делал конейнер

Алексей
15.07.2016
06:09:06
И он тебе не подошел?

Ostap
15.07.2016
06:09:09
в нем держал стейт

Google
Ostap
15.07.2016
06:09:14
и прокидывал пропсы

все было ок

Алексей
15.07.2016
06:09:32
Ostap
15.07.2016
06:09:55
но! таких компонентов оч много и они начали держать и бизнес логику

это норм

когда приложение мелкое

про сет стейт https://medium.com/@mweststrate/3-reasons-why-i-stopped-using-react-setstate-ab73fc67a42e#.zd33q1lkv

от автора mobx

так вот

очень трудно контролировать когда у тебя бизнес логика в стейте

а когда только стейт (именно стейт)

и тогда начинаеться

чтобы чтото поменять нужно 3 места

экшн стор и котейнер

Алексей
15.07.2016
06:11:44
так можно ведь не хранить в стейте бизнес логику. Пусть ок, она будет в сторе

Но кроме бизнеслогики

У компонента может быть и своя, свое поведение

Вот его и нужно хранить в стейте, даже у контейнера может быть такая ситуация

Ostap
15.07.2016
06:12:12
но это оч трудно контролировать

потомучто isSomeTrickyComputation ? <renderOne> : <renderAnother>

это бизнес логика

я не про

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