Задать вопрос
@TheRevan

Как сделать редирект в компоненте который ничего не знает о route?

Есть главный компонент:
ReactDOM.render(
  <BrowserRouter>
    <Switch>
      <Route exact  path='/' render={() => (isAuth() ? (<Redirect to="/orders"/>) : (<Redirect to="/login"/>))}/>
      <Route exact  path='/products' render={() => (isAuth() ? (<Redirect to="/orders"/>) : (<Redirect to="/login"/>))}/>
      <Route exact  path='/orders' render={() => (isAuth() ? (<PageOrders/>) : (<Redirect to="/login"/>))}/>
      <Route exact  path='/add_order' render={() => (isAuth() ? (<PageAddOrder/>) : (<Redirect to="/login"/>))}/>
      <Route exact  path='/login' render={() => (isAuth() ? (<Redirect to="/orders"/>) : (<Autorize/>))}/>
    </Switch>
  </BrowserRouter>,
document.getElementById('root'));


При этом компонент который загружается в Render(Любой, например PageOrders или PageAddOrder) содержит структуру с меню, футером и контентом, в контенте свой компонент, который меняется в зависимости от выбранной страницы. Суть в том, что мне нужно например на странице авторизации, после успешной авторизации средиректить на главную или на страницу заказов, как мне это сделать?
  • Вопрос задан
  • 90 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
maxfarseer
@maxfarseer
https://maxpfrontend.ru, обучаю реакту и компании
Здесь уже можно улучшить, сделав HOC компонент - PrivateRoute

Про редирект (в экшене вызывается callback) + запрос в компоненте.

p.s. Это все было решено на вебинаре. Пример (решение тестового задания, видео-разбор)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
Rocket Смоленск
от 80 000 до 130 000 ₽
div. Ставрополь
от 40 000 до 90 000 ₽
Wanted. Санкт-Петербург
До 220 000 ₽
18 дек. 2024, в 16:42
2000 руб./за проект
18 дек. 2024, в 16:33
2000 руб./в час
18 дек. 2024, в 16:06
5000 руб./за проект