亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

當我將它分成另一個組件時,React-router Redirect 似乎不起作用

當我將它分成另一個組件時,React-router Redirect 似乎不起作用

慕容708150 2021-09-30 14:59:00
我正在嘗試在我的 React 應用程序中設置 PrivateRoute 組件,但是當我將重定向分離到另一個文件時,如果 Auth 為 false,它似乎不會重定向 - 它只是掛在管理頁面上,沒有加載任何組件。當我的 App.js 中有 PrivateRoute 函數時,該組件工作正常,但是當我將它分成一個新文件時,react-routers Redirect 似乎不起作用這是函數:import React from 'react';import { BrowserRouter as Redirect, Route } from "react-router-dom";function PrivateRoute({component: Component, ...rest}) {  const isAuth = false;  return (    <Route      {...rest}      render={props =>        isAuth ? (          <Component {...props} />        ) : (          <Redirect            to={{              pathname: "/login",              state: { from: props.location }            }}          />        )      }    />  )}export default PrivateRoute;這是我的路線清單import React, {useState, useEffect} from 'react';import { BrowserRouter as Router, Route, Redirect } from "react-router-dom";import Home from './views/Home';import Players from './views/Players';import Stats from './views/Stats';import Admin from './views/Admin';import Nav from './components/Nav/Nav';import SideNav from './components/SideNav/SideNav';import Login from './views/Login';import PrivateRoute from './components/PrivateRoute/PrivateRoute';function App() {  const [navState, setNavState] = useState(false);  return (    <Router>      <div id="app" className="centurion-major-app d-flex">        <main className="flex-1 main_container">          <Route path="/" exact component={Home} />          <Route path="/players/" component={Players} />          <Route path="/stats/" component={Stats} />          <Route path="/login/" component={Login} />          <PrivateRoute path="/admin/" component={Admin} />        </main>      </div>    </Router>  );}export default App;我知道我可以將 PrivateRoute 函數留在 App.js 中,但我不明白為什么它不起作用?
查看完整描述

1 回答

?
紅糖糍粑

TA貢獻1815條經驗 獲得超6個贊

我認為導入BrowserRouter as Redirect和使用<Redirect to=不起作用,因為BrowserRouter組件是用于完全不同的目的,不要指望to道具。將導入更改為

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

應該解決這個問題。


查看完整回答
反對 回復 2021-09-30
  • 1 回答
  • 0 關注
  • 349 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號