Javascript React路由器在构建后使用BrowserRouter时不工作

Javascript React路由器在构建后使用BrowserRouter时不工作,javascript,node.js,reactjs,react-router,react-router-dom,Javascript,Node.js,Reactjs,React Router,React Router Dom,所以我有一个应用程序,它使用React Router BrowserRouter在不同组件之间导航 代码: 返回( {loggedIn?:} {loggedIn?:} ); 当我构建这个页面时,它显示了一个空白页面,我知道要在package.json中添加“homepage”:“.”。我这样做了,它没有显示导航栏组件,但它没有显示任何组件下,我搜索,发现我们需要使用HashRouter。使用hashrouter是否正确?如果正确,如何将我的代码更改为使用hashrouter 谢谢您正在将生成内

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

代码:

返回(
{loggedIn?:}
{loggedIn?:}
);
当我构建这个页面时,它显示了一个空白页面,我知道要在package.json中添加“homepage”:“.”。我这样做了,它没有显示导航栏组件,但它没有显示任何组件下,我搜索,发现我们需要使用HashRouter。使用hashrouter是否正确?如果正确,如何将我的代码更改为使用hashrouter


谢谢

您正在将生成内容放入子文件夹?。如果是,请检查:

还有这个

您正在将生成放在子文件夹?中?。如果是,请检查:

还有这个

您应该将通用路线放在最后,而不使用
精确的
,如下所示。否则,它将仅在您的根目录下显示,任何哈希、查询参数等都将导致它不匹配,并且您的应用程序将不会显示任何内容:

<Switch>
    <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>
    <Route path="/">
        <Welcome />
     </Route>
 </Switch>

{loggedIn?:}
{loggedIn?:}

您应该将通用路线放在最后,而不使用
精确的
,如下所示。否则,它将仅在您的根目录下显示,任何哈希、查询参数等都将导致它不匹配,并且您的应用程序将不会显示任何内容:

<Switch>
    <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>
    <Route path="/">
        <Welcome />
     </Route>
 </Switch>

{loggedIn?:}
{loggedIn?:}

应该是另一种方式吗?如果你只为
/
添加了
精确的
,如果后面添加了任何文本,那么就不会发送到该路径,因此你不需要为restOP添加所有精确的内容,比如“这显示一个空白页”-如果交换机只有精确的匹配项,那么当没有匹配项时,它将显示空白页。应该是另一种方式吗?如果您只为
/
添加
精确的
,如果后面添加了任何文本,则不会发送到该路径,因此您不需要为restOP添加所有精确的内容,即“这显示一个空白页”-如果交换机只有精确的匹配项,则在没有匹配项时将显示空白页。