【问题标题】:Issue with react-router-domreact-router-dom 的问题
【发布时间】:2020-10-23 10:39:36
【问题描述】:

我用的是react router dom,遇到渲染组件的问题,就是我的代码:

 <Switch>
        <>
          <Route path="/dashboard" exact={true}>
            <Dashboard />
          </Route>
          <div className={classes.container}>
            <div className={classes.leftSide}></div>
            <div className={classes.rightSide}>
              <Route path="/" exact={true}>
                <PhoneNumber value={value} handlerFunc={handlePhoneNumber} />
              </Route>
              <Route path="/registration" exact={true}>
                <Registration phoneNumber={value} />
              </Route>
              <Route path="/login" exact={true}>
                <Login />
              </Route>
            </div>
          </div>
        </>
        </Switch>

问题是当我转到 /dashboard 时,也会呈现 className 为 leftSide 和 rightSide 的 div,但我想确保仅在转到 /、/registration 和 /login 时呈现 div

【问题讨论】:

标签: reactjs react-router-dom


【解决方案1】:

遵循这种方法,这是react-router docs 推荐的嵌套路由方式。

    <Switch>
      <Route path="/dashboard" exact={true}>
        <Dashboard />
      </Route>
      <Route path={["/","/registration","/login"]}>
        <div className={classes.container}>
         <div className={classes.leftSide}></div>
         <div className={classes.rightSide}>
         <Switch>
          <Route path="/" exact={true}>
            <PhoneNumber value={value} handlerFunc={handlePhoneNumber} />
          </Route>
          <Route path="/registration" exact={true}>
            <Registration phoneNumber={value} />
          </Route>
          <Route path="/login" exact={true}>
            <Login />
          </Route>
         </Switch>
         </div>
       </div>
      </Route>
    </Switch>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-06-28
    • 2019-07-25
    • 2019-03-17
    • 2020-08-09
    • 1970-01-01
    • 2019-01-15
    • 1970-01-01
    • 2022-06-15
    相关资源
    最近更新 更多