@react_js

Страница 945 из 5115
Dmitry
13.02.2017
21:51:55
как?
У меня сейчас в проекте есть hoc, который чекает авторизацию и в зависимости от текущего статуса возвращает или null, или 404, или компонент изначальный

Vladimir
13.02.2017
21:51:56
constructor() { this.state = { user: {} }; } cDM () { fetch().then(updateStateUser) } render() { render (this.state.user) ? <xmp>{ this.state.user }</xmp> : 'loading' }

Dmitry
13.02.2017
21:52:32
Не претендую на бест практис, но работает

Google
Dmitry
13.02.2017
21:53:39
<Route path='/expert' component={Authentication(Expert, 'expert')} /> Что-то подобное

Ywein
13.02.2017
21:54:59
в реакт-роутере же есть onEnter функция, разве не удобнее ее использовать?

Vladimir
13.02.2017
21:55:17
тоже дело

Andrew
13.02.2017
21:55:29
ща гляну

Vladimir
13.02.2017
21:55:41
Dmitry
13.02.2017
21:56:03
Authentication смотрит на стор и ждет, когда там данные о юзере появятся + проверяет есть ли необходимые права у юзера и разруливает редиректы, для незалогиненных, если нужно.

Andrew
13.02.2017
21:56:14
просто я подумал типа не успело загрузить пользователя выкинет меня на ошибку и все

у меня так на нескольких компонентах может быть

и при каждом разе делать запрос лишний

Google
Andrew
13.02.2017
21:57:39
на юзера

Ywein
13.02.2017
21:58:56
Зачем же каждый раз. Данные из стора берешь

Запрос на сервер делается только если в сторе нет данных

Andrew
13.02.2017
21:59:46
onEnter(nextState, replace, callback?)

мне надо "подождать" типа

Дмитрий получается самый норм варик предлагает

<Provider store={store}> <Router history={browserHistory}> <Route path="/" component={App}> <IndexRoute component={Home}/> </Route> <Route path="/users/" component={App}> <IndexRoute component={Users}/> </Route> <Route path="/auth/" component={App}> <IndexRoute component={Auth}/> <Route path='success/' component={Auth}/> </Route> <Route path="/profile/" component={App}> <IndexRoute component={Profile}/> <Route path=':user/' component={Profile}/> </Route> </Router> </Provider> App - делает запрос

Adel
13.02.2017
22:01:34
Не претендую на бест практис, но работает
Как вариант можно завести хок, который показывает loading spinner и empty placeholder

Pavel
13.02.2017
22:01:45
привет всем еще раз. если используете duck modules с redux и reselect, то где обычно селекторы храните? в модулях или отдельно с доступом от корня стейта?

Dmitry
13.02.2017
22:01:53
Да, вместо null можно что угодно рисовать

Ywein
13.02.2017
22:02:18
У меня флоу обычно такой 1) Открывается приложение. 2) Функция onEnter. В сторе нет данных. 3) Чекаем если есть токен в локалСторадж 4) Предположим, что есть, так как флоу интересней 5) Переходим на компонент со спиннером 6) Запрос к серверу на валидацию токена 7) По завершению запроса - возвращаемся где были, если валидация пройдена, либо на логин, если не пройдена

Pavel
13.02.2017
22:02:46
В модулях щас
то есть всегда есть 1 селектор на получение конкретного модуля внутри стейта? в самом модуле

ну, куска стейта точнее

Ywein
13.02.2017
22:05:27
то есть всегда есть 1 селектор на получение конкретного модуля внутри стейта? в самом модуле
ничего не понял честно говоря, селектор внутри стейта это как.

у меня селектор внутри контейнера. я честно скопировал предложенную в стартер-паке архитектуру

Pavel
13.02.2017
22:06:33
ничего не понял честно говоря, селектор внутри стейта это как.
ну, если объявлять селекторы внутри модулей, а селектор вызывать с корнем стейта приложений, то нужен 1 дополнительный селектор который дойдет по дереву до этого модуля

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

Ywein
13.02.2017
22:07:42
но у селектора и так доступ ко всему стейту есть, это ж редакс.

Google
Ywein
13.02.2017
22:08:01
зачем дополнительный селектор

Pavel
13.02.2017
22:08:01
есть, но смысл в модулях которые знают о том что есть другие

Ywein
13.02.2017
22:08:33
селекторы не реюзабельны

ты не можешь один и тот же селектор в нескольких компонентах использовать, оно так не работает

Pavel
13.02.2017
22:14:04
не до конца проработано но суть ясна

Ywein
13.02.2017
22:16:21
я честно говоря вообще не понял зачем это нужно (

Pavel
13.02.2017
22:17:04
короче первый вариант думаю правильнее

Vasiliy
13.02.2017
22:27:09
я как-то вообще вот так стал писать: selectors.denormalize('foos', [schemas.foos], filter(...)), selectors.denormalize('bars', [schemas.bars], take(10)), не знаю, понятно ли что это такое)

Regina
13.02.2017
22:45:18
ребят, помогите разобраться на уровне концепции. Есть простое приложение посты, комментарии. И у постов, и у комментов есть лайки. Создаю 3 компонента: Post, Comment, Like. По умолчанию Like получает кол-во лайков через props от родительских Post и Comment. По клику на Like нужно увеличивать/уменшать значение, передавать родителю и сохранять в базу. Вопрос: где должен задаваться state компонента Like?

Vladimir
13.02.2017
22:46:44
в сторе?

плюс оптимистичные апдейты

Regina
13.02.2017
22:47:16
создавать для Like отдельный стор?

или в сторах Post & Comment

Vladimir
13.02.2017
22:47:33
стор для аппа

Regina
13.02.2017
22:48:07
ок, но допустим что приложение вообще глупое, без сторов, без записи в БД

вопрос концептуальный, повторюсь :)

по логике интерфейса кажется что сам компонент Like должен отвечать за свое состояние (кликали/ не кликали)

но при этом возникает вопрос, как передать родителю новое значение

Ywein
13.02.2017
22:53:44
по логике у тебя должен быть менеджер стора в духе редакса или мобx. дальше у тебя есть сущность - пост. в сторе приложения должен хранится массив постов. когда ты нажимаешь на лайк - он делает диспатч, который обновляет массив постов в сторе, увеличивая количество лайков на 1 у текущего поста и отмечает что текущий пост уже лайкнут.

Google
Ywein
13.02.2017
22:54:36
сам компонент не должен хранить это в себе, т.к. явно данные приложения.

Regina
13.02.2017
22:55:35
Т.е. Like должен быть глупым компонентом, отображающим только данные получаемые через props

Ywein
13.02.2017
22:55:51
да

Regina
13.02.2017
22:56:10
Да, похоже на правду :)

Спасибо!

Проблема была в понимании кому принадлежат state

Ҫѐҏӗѫӑ
14.02.2017
00:42:47
https://github.com/bvaughn/react-virtualized/pull/577

Yaroslav
14.02.2017
01:00:57
Redux же определенно связан с React?

Admin
ERROR: S client not available

KlonD90
14.02.2017
01:01:19
Неа

Vladimir
14.02.2017
01:09:53
Redux же определенно связан с React?
Нет. Это просто state management tool

Есть биндинги и к ангуляру

Yaroslav
14.02.2017
01:24:49
Понятно, пасиб ?

Джон
14.02.2017
02:00:32
ребят, кто-то юзал fastclick?

пробую его включить, билдю apk через кордову, разницы никакой

все равно задержка..

Джон
14.02.2017
02:57:23
пасиб, я правда на обычном реакте делаю..

Дмитрий
14.02.2017
03:01:00
Смелый, самоотверженный человек))

Джон
14.02.2017
03:01:26
вебвью это плохо?

Google
Arseniy
14.02.2017
03:14:06
вебвью это плохо?
ну, он медленнее

Джон
14.02.2017
03:14:27
уже смотрю на реакт нейтив..

Arseniy
14.02.2017
03:14:57
очень советую, производительность на мобилках это особенно важная штука

Джон
14.02.2017
03:17:00
ок понял, спасибо

yep
14.02.2017
05:53:13
как там назывался канал для react native?

Джон
14.02.2017
07:02:13
очень советую, производительность на мобилках это особенно важная штука
потыкал реакт нейтив на телефоне, чуть быстрее, но ненамного )

видимо телефон такой

Ches
14.02.2017
07:33:36
правильно ли делать такой стор в редьюсере? const initialState = { registration: { isLoading: false, data: null, error: null }, registrationCode: { isLoading: false, data: null, error: null }, login: { isLoading: false, data: null, error: null }, forgotPassword: { isLoading: false, data: null, error: null } };

Сергей
14.02.2017
07:40:58
явно можно разделить на 4 стора отдельных

и скомбайнить их

Ches
14.02.2017
07:51:49
явно можно разделить на 4 стора отдельных
так будет лучше? сейчас не получается по нормально делать return {...state, .....}, но будет один объект

Сергей
14.02.2017
07:52:51
не понял(

для обновления стора можно использовать https://facebook.github.io/react/docs/update.html

Brs
14.02.2017
08:02:45
@iamstarkov, что почитать чтобы проникнуться styled components? readme на гитхабе какое-то неубедительное

Vladimir
14.02.2017
08:02:59
не знаю

я их и не советовал никогда

наоборот не советую

Mikhail
14.02.2017
08:05:14
наоборот не советую
А что с ними не так?

Вроде как многообещающая вещь

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