小编moo*_*oon的帖子

404 页面未找到无法正常工作react-router v6(使用多个参数)

我的浅薄理解导致了渲染 NotFound 页面的一个简单问题......

<Routes>
          <Route path="*" element={<NotFound />}/>
          <Route path="/" element={<Home />} />
          <Route path="/:category/:id" element={<Article />} />
        </Routes>
Run Code Online (Sandbox Code Playgroud)

当uri包含一个“/”时,它会渲染匹配的组件或NotFound组件,但是,当uri包含两个“/”时,例如不存在的“/asoejdnxx/acnoiw”,它不会路由到NotFound 页面,但仅呈现一个没有错误的空白页面。

我假设问题是因为 React 正在寻找第三条路线中的参数(具有 :category 和 :id 参数),无论它是否匹配。

我确信不需要在“Article”组件中添加条件,例如如果参数与现有的 :id 不匹配,则渲染其他内容(因为这就是 path="*" 的目的) ,但我找不到重定向或渲染 NotFound 组件的方法。

reactjs react-router dynamic-routing

2
推荐指数
1
解决办法
7986
查看次数

标签 统计

dynamic-routing ×1

react-router ×1

reactjs ×1