首页 > 解决方案 > 反应重定向是

问题描述

因此,由于 Redirect 是一个应该由渲染器返回的组件,因此我在验证用户是否经过身份验证后尝试将用户重定向到某个页面,并且由于某种原因它没有重定向。我宁愿不使用 useHistory,因为我正在为 comps 使用受保护的 Route 并且不处理事件。我错过了什么?

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 && !loading ?
    (<Redirect to='/login' />) :
    (<Component {...props} />)} />
 )
}


export default PrivateRoute

标签: javascriptreactjsreact-redux

解决方案


我认为这应该是

从“react-router-dom”导入 { BrowserRouter as Redirect, Route };

像这样:

从“react-router-dom”导入 { BrowserRouter ,重定向,路由 };


推荐阅读