Size: a a a

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

2020 May 23

AL

Aleksander Lemyagov in React: русскоязычное сообщество
Подскажите. Если я хочу в `Route`-е делать запрос на сервак и в зависимости от ответа показывать страницу или нет. как сделать?
источник

S

Stef in React: русскоязычное сообщество
Наверно в компоненте нужно useEffect и в нем щапрос
И когда получили результат то:
     {response?<Component/>:"Недостаточно прав"}
источник

ЮЧ

Юра Чеботаев... in React: русскоязычное сообщество
Aleksander Lemyagov
Подскажите. Если я хочу в `Route`-е делать запрос на сервак и в зависимости от ответа показывать страницу или нет. как сделать?
А вам ради безопасности, или просто показать страницу аутентификации?
источник

AL

Aleksander Lemyagov in React: русскоязычное сообщество
Юра Чеботаев
А вам ради безопасности, или просто показать страницу аутентификации?
1. Ради безопасности.
2. Вариант еще такой что если пользователь не подтвердил почту, то перенаправлять его на страницу с инфой. Без подтверждения ресурс использовать нельзя.
3. Человек может запрашивать страницу, на которую доступа нет у него по правам допустим. И это надо проверять.
источник

AL

Aleksander Lemyagov in React: русскоязычное сообщество
Stef
Наверно в компоненте нужно useEffect и в нем щапрос
И когда получили результат то:
     {response?<Component/>:"Недостаточно прав"}
Запрос к серверу это асинхронный запрос. Зарендерить потом не выйдет ибо функция рендера у роута выполнится
источник

ЮЧ

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

AL

Aleksander Lemyagov in React: русскоязычное сообщество
Юра Чеботаев
@Tsyklop А приложение с серверным рендерингом, или только клиентское?
Только клиентское
источник

ЮЧ

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

ЮЧ

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

ЮЧ

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

AL

Aleksander Lemyagov in React: русскоязычное сообщество
Юра Чеботаев
Должен быть специальный сервер, который будет отдавать статику.
Статику?
источник

ЮЧ

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

ЮЧ

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

AL

Aleksander Lemyagov in React: русскоязычное сообщество
Зачем? О всех страницах знает клиент, но они пустые
источник

ЮЧ

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

ЮЧ

Юра Чеботаев... in React: русскоязычное сообщество
И прочитать всю нужную информацию.
источник

AL

Aleksander Lemyagov in React: русскоязычное сообщество
Юра Чеботаев
Иначе все равно злоумышленник сможет посмотреть код и отобразить страницу.
Не отобразит. Сервер в дальнейшем выдаст ошибку
источник

ЮЧ

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

ЮЧ

Юра Чеботаев... in React: русскоязычное сообщество
Типа такого:
return (
 <IsAuthenticated>{yes => yes ? <Page /> : <Authenticate />}</IsAuthenticated>
)
источник

ЮЧ

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