
S
23.06.2016
11:51:51
БАЯН

Denis
23.06.2016
12:20:02

Konstantin
23.06.2016
12:23:05
Нормально ли делать редирект на страницу со стора, после запроса?
типо запрос не сработал и перекинуть юзера на другую страницу

Google

Andrey
23.06.2016
12:24:28
ктонить может сказать , что вот тут происходит ? внутри <main>

Алексей
23.06.2016
12:24:53
детям
передаются пропсы из app

Andrey
23.06.2016
12:24:58
эта штука передаётся в роуте

Алексей
23.06.2016
12:25:41
типо мы не знаем, сколько там детей, но каждому нужно передать пропсы, которое получает app
вот и возвращаем массив из детей, к которым добавляем пропсы
app

Andrey
23.06.2016
12:26:08
а.
а дети по умолчанию в роутах это что ? https://i.imgur.com/QLBEygR.png
вот это компонент который выше

Алексей
23.06.2016
12:27:19
ну данные о роутере получит только app, видимо нужно что бы дети тоже могли обратиться к пути например
не через location это же делать:D

Andrey
23.06.2016
12:28:09
жа

Google

Алексей
23.06.2016
12:29:46

Andrey
23.06.2016
12:30:13
хм. но ведь https://i.imgur.com/QLBEygR.png здесь нет никаких дочерних

Алексей
23.06.2016
12:31:14

Andrey
23.06.2016
12:32:03
а... пардон я перепутал
сорян. всё верно
тут роут с вложенностямми
допёр
спс!
https://i.imgur.com/rqbgLQx.png

Алексей
23.06.2016
12:32:49
все равно странно
что передаются пропсы из App
хотя вложенные роуты сами передадут те же пропсы
в компоненты

Andrey
23.06.2016
12:33:35
а вложенные компоненты не передадут
думаю поэтому App внутри передаёт своим детям эти же пропсы

Alxander
23.06.2016
14:42:07
Ребята, а как вы поплулейтите стейт для серверного рендеринга? Руками или у вас какой-то изоморфный фетч?
А то просто во всех примерах этот момент упускается почему-то.

Vadim
23.06.2016
14:44:35
вы поплулейтите стейт
что это значит?))
по русски дико звучит

Alxander
23.06.2016
14:45:36
Ну типа наполняете state redux.

Google

Alxander
23.06.2016
14:45:52
Запихать туда юзера, какие-нибудь начальные данные для рендера странички.

Vladimir
23.06.2016
14:49:22
window["scope"].yourAppState = jsonFromApiInjectedBySSR

Alxander
23.06.2016
14:49:51
Проосто на клиенте этим занимается компонент, который хочет что-то от сервера. А на сервере как эти ручки подёргать я пока не знаю. Можно, конечно, прикинутся что мы такие же как и все остальные и просто через http запросы у себя всё спрашивать, но это как-то странно.

Vladimir
23.06.2016
14:51:25
Ты же сам сказал, что умеешь дергать ручки
Может быть можно через редакс стор со всеми редьюсерами формировать initialState
Думаю можно

Denis
23.06.2016
14:53:02
Если вопрос про то, как работать и получать async state, то:
1. react-router-redux
2. Isomorphic Relay
3. redux-catch-promise

Vladimir
23.06.2016
14:53:18
А редьюсеры изоморфны

Alxander
23.06.2016
14:53:38
У меня была идея делать какие-то ручки, которые отдают данные как бы не зная про HTTP. Этакий изоморфный CRUD.

anoru
23.06.2016
14:54:26
@hgenru
const finishStore = configureStore(merge.recursive(store.getState(), твои данные
так мы соединяем initial state с твоими данными.
merge это просто https://www.npmjs.com/package/merge
можно и руками

anoru
23.06.2016
14:54:45
это и рендеришь на сервере <Provider store={finishStore}>

ENAMETOOLONG
23.06.2016
14:55:46
Что лучше реактовые chartjs или victoryjs?

Alxander
23.06.2016
14:55:47

anoru
23.06.2016
14:56:30
сформировать initial state или те, которые берутся в зависимости от роута?
Если второе, то либо костыли, либо вариант описанный Денисом выше. Если первое, то два раза configureStore сделать. Первый чтобы узнать initial state, второй, чтобы смержить
кстати, а с mobx как этот вопрос решают?

Alxander
23.06.2016
14:58:55
сформировать initial state или те, которые берутся в зависимости от роута?
Ну так это одни и те же данные. Просто для каждого роута хотелось бы чтобы стейт был разный.
Тут два варианта есть: либо самому "руками" этот стейт создавать, а потом мёржить. Но тогда могут быть проблемы с логикой компонентов (возможно). Второй, более хороший вариант — это полностью отдать логику наполнения стейта компонентам (ну они там сами типа запросили что им нужно), но тогда нужно чтобы на сервере был какой-то изоморфный иструмент получения данных (тот же релей)

anoru
23.06.2016
14:59:41
Глянь как у Кости сделано

Google

Alxander
23.06.2016
14:59:47
А ещё, наверное, можно сделать такой фетч, который полностью эмулирует http-запрос к себе же, но работает не через сеть.

anoru
23.06.2016
15:00:10
https://github.com/kriasoft/react-app

Denis
23.06.2016
15:00:18

Admin
ERROR: S client not available

anoru
23.06.2016
15:00:23
решит твои проблемы, но я не юзал

Alxander
23.06.2016
15:01:54
Ага, всем спасибо. Так и думал, что какого-то магического решения нет.
Пока, наверное, поживу без серверного рендеринга. Заморочусь на другом проекте с этим.

Vladimir
23.06.2016
15:03:16

Alxander
23.06.2016
15:04:38
rum?
Это библиотека какая-то? Можно линк?

Vladimir
23.06.2016
15:05:45
@tonsky хорошо писал про такую идею
http://tonsky.me/blog/the-web-after-tomorrow/
Только я перепутал и это datomic

Alxander
23.06.2016
15:10:21
Статья хорошая, потом дочитаю. Спасибо.

Ҫѐҏӗѫӑ
23.06.2016
15:13:39
внезапно сегодня внеплановый БирЖС в Craft Republic в 20:00

Alxander
23.06.2016
15:14:16
В Мск?

Sergey
23.06.2016
15:14:39
Пора в Киеве делать, а то чет скучно

Ҫѐҏӗѫӑ
23.06.2016
15:21:46
https://twitter.com/chicoxyzzy/status/746000050527027200

Alex
23.06.2016
15:30:49
Ребят, подскажите нубу, как правильно подружить oauth и реакт?

Google

Alex
23.06.2016
15:31:24
точнее даже oauth, react и аутентификацию на апи сервере?

Alxander
23.06.2016
15:34:16

Ostap
23.06.2016
15:35:17

Alex
23.06.2016
15:40:10
Я просто в голове процесс уместить не могу весь: 1) Юзер на фронтэнде кликает на ссылку /auth/twitter 2) Сервер переадресует на твитор, твитор переадресует обратно, но с uid пользователя. 3) Сервер находит пользователя, генерирует токен А вот дальше то что? как токен обратно реакту отдать?
А при чём тут реакт вообще? Сходил на сервер, получил куку или Beaer и хмаляешь запросами.

Alxander
23.06.2016
15:43:10
Твой клиент про твиттер вообще ничего не знает, ему токен давать нельзя ни в коем случае (ну только если это не специальное приложение для бразуера).

Alex
23.06.2016
15:44:41
Сервер отдаёт свой jwt токен, токен твиттера на клиент не уходит

Alxander
23.06.2016
15:44:52
Да, верно.
Если у тебя long-live токен, то, в теории, ты на твиттер больше никогда и не пойдёшь. А клиент сможет логинится через какие-нибудь другие сервисы (почта, другие соцсети)
Так делают привязку всяких аккаунтов в сервисах.

Alex
23.06.2016
15:47:33
Так вот я и не могу придумать, как после успешной генерации jwt отдать токен на клиент. Только пушить через вебсокеты, разьве что

Alxander
23.06.2016
15:48:01
А куки тебе на что?

Alex
23.06.2016
15:48:55
Логично, забыл про них. Спасибо