【发布时间】:2021-03-18 10:05:36
【问题描述】:
我正在创建一个网站,我希望用户在打开该网站时被定向到特定页面。他们将被引导到的页面取决于他们是否已经登录。我的问题是:路由器不工作(用户没有被重定向到任何页面)并且出现的所有内容都是空白页。我试图摆脱这些路线,但即使如此,我也无法在索引页面上显示任何内容。也许问题甚至不是路由器,而是其他问题。
我从来没有收到任何错误消息。以下是代码的一部分,我认为问题可能出在哪里。
_app.js:
import React from 'react'
import { BrowserRouter as Router, Route } from "react-router-dom"
import Novidades from './lancamento'
import SignUp from './signup'
import Croosa from './croosa'
import { AuthProvider } from '../utils/auth'
import PrivateRoute from '../utils/PrivateRoute'
const App = () => {
return(
<AuthProvider>
<Router>
<div>
<PrivateRoute exact path='/lancamento' component={Lancamento} />
<Route exact path='/croosa' component={Croosa}/>
<Route exact path='/signup' component={SignUp} />
</div>
</Router>
</AuthProvider>
)
}
export default App
index.js:
import React from 'react'
import App from './_app'
export default function Home() {
return(
<App/>
)
}
还有 PrivateRoute.js,它决定用户将被重定向到哪个页面:
import React, { useContext } from "react";
import { Route, Redirect } from "react-router-dom";
import { AuthContext } from "./auth";
const PrivateRoute = ({ component: RouteComponent, ...rest }) => {
const {currentUser} = useContext(AuthContext);
return (
<Route
{...rest}
render={routeProps =>
!!currentUser ? (
<RouteComponent {...routeProps} />
) : (
<Redirect to={"/signup"} />
)
}
/>
)
}
export default PrivateRoute
如果有人能指出我的错误,我将不胜感激。
【问题讨论】:
标签: reactjs react-router next.js react-router-dom