首页 > 解决方案 > 如何登录应用程序页面并将页面定向到主页?

问题描述

更新

伙计们,你帮助我解决了部分问题。

现在的新问题是,当我在应用程序中登录时,对我来说似乎是错误的,如下所示:

主屏幕错误

它必须以正确的方式出现,如下所示:

主屏幕右侧

我期待着代码,我认为这可能是 App.js 在以下代码段中的一些问题:

return (
      <BrowserRouter>
          <Fragment>
            <LoadingBar style={{ zIndex: 1000 }} />
            <Menu />
            <div className='ui main text container' style={{ marginTop: '7em' }}>
              <Switch>
                <Route
                  path='/'
                  exact
                  render={() => {
                    return (
                      <QuestionList
                        handleTabChange={this.handleTabChange}
                        activeIndex={this.state.activeIndex}
                       />
                    )
                  }}
                 />

但我还没有弄清楚这可能是什么问题。我试图在stackoverflow中搜索一些东西,但没有成功。

我已经在代码和框中修改了同样的方式现在对我来说。请检查那里,我会很感激任何帮助:

https://codesandbox.io/s/compassionate-sammet-iincf

再次非常感谢。

标签: javascriptreactjsecmascript-6redux

解决方案


在 App.js 中,您为用户登录时定义了以下路由:

          <Route
            path="/"
            exact
            render={...}
          />
          <Route
            path="/add"
            render={...}
          />
          <Route path="/questions/:question_id" component={QuestionView} />
          <Route path="/leaderboard" component={Leaderboard} />
          <Route path="/logout" component={Logout} />
          <Route path="/404" component={PageNotFound} />
          <Route path="/" component={PageNotFound} />`

请注意,当用户登录时没有定义“/login”路由。这就是您收到 PageNotFound 错误的原因。此外,您已经定义了两次“/”路由,因此您需要删除第二个定义。


推荐阅读