перенаправление реакции-это

#javascript #reactjs #react-redux

Вопрос:

поэтому , поскольку перенаправление-это компонент, который должен быть возвращен рендером, я пытаюсь перенаправить своего пользователя на какую-то страницу после проверки его подлинности, и по какой-то причине это не перенаправление. Я бы предпочел не использовать историю использования, так как я выполняю защищенный маршрут для команд и не обрабатываю событие. Что я упускаю из виду ?

 import React from 'react';
import { useSelector } from 'react-redux';
import { BrowserRouter as Redirect, Route } from "react-router-dom";

const PrivateRoute = ({component: Component, ...rest}) => {

const {isAuthenticated,loading} = useSelector(state => state.auth);

return (
  <Route {...rest} render={props => !isAuthenticated amp;amp; !loading ?
    (<Redirect to='/login' />) :
    (<Component {...props} />)} />
 )
}


export default PrivateRoute
 

Ответ №1:

Я думаю, что это должно быть

импорт { BrowserRouter как перенаправление, маршрут } из «react-router-dom»;

подобный этому:

импорт { BrowserRouter , Перенаправление, маршрут } из «react-router-dom»;

Комментарии:

1. Ха-ха , я понятия не имею, как я это пропустил, но я действительно рад, что получил вашу помощь. спасибо за потраченные усилия и время, приятель. продолжайте в том же духе

2. Ха-ха, Все в порядке, приятель

Ответ №2:

BrowserRouter был импортирован как перенаправление! вместо импорта перенаправления вместе с маршрутизатором браузера из react-router-dom

до

 import { BrowserRouter as Redirect, Route } from "react-router-dom";
 

после

 import { Redirect, Route } from "react-router-dom";