当前位置: 首页 > 知识库问答 >
问题:

反应-生成后使用BrowserRouter时路由器不工作

袁和通
2023-03-14

所以我有一个应用程序,它使用React-Router BrowserRouter在不同组件之间导航

代码:

return (
    <Router>
        <div className="container">
            <Navbar logged={loggedIn} />

            <Switch>
                <Route path="/" exact>
                    <Welcome />
                </Route>
                <Route path="/logout" exact>
                    <Logout loggedSet={setLoggedIn} logged={loggedIn} />
                </Route>
                <Route path="/login" exact>
                    <Login onLogin={login} loggedIn={loggedIn} />
                </Route>
                <Route path="/dashboard" exact>
                    {loggedIn ? <Dashboard /> : <Redirect to="/" />}
                </Route>
                <Route path="/add" exact>
                    {loggedIn ? <Add /> : <Redirect to="/" />}
                    <Add />
                </Route>
            </Switch>
        </div>
    </Router>
);

当我构建它时,它显示了一个空白页,我知道要在package.json中添加“homePage”:“.”。我这样做了,它不显示Navbar组件,但它发送了显示任何组件,我搜索和发现,我们需要使用哈希路由器。使用hashrouter是否正确,如果正确,如何更改我的代码使用hashrouter。

谢谢

共有1个答案

羊舌赞
2023-03-14

您正在将生成放入子文件夹?。如果是,请选中以下选项:使用相对路径部署对路由器作出反应

和部署在不同位置(子目录)上的React-router应用程序

 类似资料:
  • 我的导航不工作,因为某些原因,我有另一个应用程序运行良好,但这一个不能找到错误,请帮助 反应路由器不工作。反应JS 我需要你的帮助。 使用react-router,我可以使用Link元素创建由react router本地处理的链接。

  • 我的目标是让http://mydomain/route1呈现React组件Component1,让http://mydomain/route2呈现component2。因此,我认为编写如下路线是很自然的: http://mydomain/route1按预期工作,但http://mydomain/route2反而呈现Component1。 然后我读了这个问题,并将路线改为:

  • 我已经稍微调整了React路由器的私有路由示例,以便与Redux玩得很好,但是当链接或重定向到其他页面时,不会呈现任何组件。这个例子可以在这里找到: https://reacttraining.com/react-router/web/example/auth-workflow 他们的PrivateRoute组件如下所示: 但是,因为我已经把它合并到一个Redux应用程序中,我不得不稍微调整一下私

  • 我是新的反应,不知道为什么这不会起作用。 我的路由器代码在这里: 因此,这段代码所发生的情况是: localhost/显示良好

  • 考虑以下事项: 我有一个应用模板,一个HeaderTemboard,和参数化的路由集与相同的处理程序(在应用模板)。我希望在没有找到东西的时候能够服务404路线。例如, /CA/SanFrancisco应该由区域查找和处理,而 /SanFranciscoz应该是404。 下面是我如何快速测试路线的。 问题是 /SanFranciscoz总是由区域页面处理,但我希望它是404。此外,如果我向第一个路