This means it will render an <Outlet /> with a null value by default resulting in an “empty“ page.

今天在学习尚硅谷张天禹老师的react教程时,发现按照老师写的代码无法实现路由的跳转,代码如下:

<BrowserRouter>
          <div className="row">
            <div className="col-xs-2 col-xs-offset-2">
              <div className="list-group">
                {/* <a className="list-group-item active" href="./about.html">About</a>
                <a className="list-group-item" href="./home.html">Home</a> */}
                  <Link className="list-group-item active" to = '/about'>About</Link>
                  <Link className="list-group-item" to = '/home'>Home</Link>
              </div>
            </div>
            <div className="col-xs-6">
              <div className="panel">
                <div className="panel-body">
                    <Route path = '/about' component = {About} />
                    <Route path = '/home' component = {Home} />
                </div>
              </div>
            </div>
          </div>
</BrowserRouter>

 控制台报错:

 大致的意思是:<Route>只能用作<Routes>元素的子元素,不能直接渲染。请将您的<Route>包装成<Routes>。

所以引用Routes并使用:

 

 发现导航栏可以跳转但是没有展示的东西,控制台会报警告:

 看到这我想到会不会是react-router-dom版本的原因,于是我查看了官方的文档发现最新版本官方的写法已经改了:

 结合官方文档,正确的代码写法如下:

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值