Size: a a a

React: русскоязычное сообщество

2020 April 29

ЮЧ

Юра Чеботаев... in React: русскоязычное сообщество
Но вообще, так сложно делать.
источник

ЮЧ

Юра Чеботаев... in React: русскоязычное сообщество
Вы, плюс ко всему, должны еще понимать, когда все запросы вернулись на сервере.
источник

АН

Авроамэриканец Начрэ... in React: русскоязычное сообщество
Юра Чеботаев
Но это будет особый кэш, который будет инвалидироваться после первого запроса.
Axios не использую. Вообще на сервере я планирую использовать джаву и рендерить страницы реактом с помощью graalvm. Поэтому из JS у меня только реакт, его зависимости и декларация компонентов. Ну и redux будет
источник

ЮЧ

Юра Чеботаев... in React: русскоязычное сообщество
А, ну тогда все проще.
источник

ЮЧ

Юра Чеботаев... in React: русскоязычное сообщество
Нужно завести переменную окружения, типа IS_SERVER_SIDE.
источник

ЮЧ

Юра Чеботаев... in React: русскоязычное сообщество
И если на сервере, то рендерить компоненты сразу с данными.
источник

ЮЧ

Юра Чеботаев... in React: русскоязычное сообщество
А если на клиенте, то делать запрос.
источник

ЮЧ

Юра Чеботаев... in React: русскоязычное сообщество
То есть, вы из джавы делаете запросы к API, передаете результаты в реакт.
источник

АН

Авроамэриканец Начрэ... in React: русскоязычное сообщество
Юра Чеботаев
И если на сервере, то рендерить компоненты сразу с данными.
Так и планирую
источник

ЮЧ

Юра Чеботаев... in React: русскоязычное сообщество
Ок.
источник

АН

Авроамэриканец Начрэ... in React: русскоязычное сообщество
Юра Чеботаев
То есть, вы из джавы делаете запросы к API, передаете результаты в реакт.
Как бы вы это сделали? Имею в виду в js технологии. Глобально засунуть данные и подцепить их потом redux'ом?
источник

ЮЧ

Юра Чеботаев... in React: русскоязычное сообщество
Это самый распространенный вариант, да.
источник

ЮЧ

Юра Чеботаев... in React: русскоязычное сообщество
Нужно просто при инициализации редукса подцеплять данные откуда-то снаружи.
источник

ЮЧ

Юра Чеботаев... in React: русскоязычное сообщество
Только всю вот эту бороду js-ную нужно запускать уже после того, как все запросы отработали.
источник

ЮЧ

Юра Чеботаев... in React: русскоязычное сообщество
То есть, такая схема:
1. Приходит клиентский запрос.
2. Сервер идет в API, выполняет все манипуляции с ними.
3. Запускает реакт с редуксом.
4. Реакт ренедерится, получается ответ в виде HTML-а.
5. Уходит на клиент.
источник

АН

Авроамэриканец Начрэ... in React: русскоязычное сообщество
А в компонентах что делать? При инициации в конструкторе проверять есть ли данные в сторе и если да - инициировать состояние этими данными и нулить данные в сторе?
источник

ЮЧ

Юра Чеботаев... in React: русскоязычное сообщество
Просто инициализировать данные теми, что в сторе.
источник

ЮЧ

Юра Чеботаев... in React: русскоязычное сообщество
Больше не надо ничего делать.
источник

ЮЧ

Юра Чеботаев... in React: русскоязычное сообщество
Новые данные в сторе появляются всего двумя путями: в ответ на событие и были там с самого начала.
источник

ЮЧ

Юра Чеботаев... in React: русскоязычное сообщество
Когда вы на серере делаете ReactDOMServer.renderToString, события не навешиваются, соответственно, запросы не ходят.
источник