#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";