You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Router v6报错:[News] 不是合法<Route>组件问题求助

问题原因

React Router v6 对 <Route> 组件的用法做了不兼容旧版的调整:<Routes> 的直接子节点只能是 <Route> 或 <React.Fragment>,同时路由对应的页面组件不能作为 <Route> 的子元素嵌套,必须通过 element 属性传入。你当前的写法还是 v5 及更早版本的写法,因此触发报错。

解决方案

将所有 <Route> 组件调整为 element 属性传组件的形式即可,修正后的核心 <Routes> 部分代码如下:

<Routes>
  <Route 
    path="/" 
    element={<News
      setProgress={this.setProgress}
      apikey={this.apikey}
      key="general"
      country="in"
      category="general"
    />} 
  />
  <Route 
    path="/ADP-Special" 
    element={<News
      setProgress={this.setProgress}
      apikey={this.apikey}
      key="general"
      country="in"
      category="general"
    />} 
  />
  <Route 
    path="/Science" 
    element={<News
      setProgress={this.setProgress}
      apikey={this.apikey}
      key="science"
      country="in"
      category="science"
    />} 
  />
  {/* 剩余其他路由全部按上述格式修改即可 */}
</Routes>

补充说明:React Router v6 默认开启路由精确匹配,因此不需要再加 exact 属性,保留也不会影响运行。

内容的提问来源于stack exchange,提问作者Arindam Panda

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 03:45:10