React Router V6中使用箭头函数渲染Home组件报错,求修正语法
React Router V6 路由渲染问题修正
React Router V6 已彻底移除 Route 组件的 render 和 exact 属性,这两个属性在 V6 中不再被支持,所以无论怎么调整 render 内的语法都无法正常工作。
你原代码里的 return element={<Home/>} 本身语法也有问题——箭头函数返回对象时需要用括号包裹,但更核心的问题是 V6 根本不识别 render 这个属性。
正确写法
直接使用 element 属性传递要渲染的组件即可,无需 render:
<Route path="*" element={<Home />} />
补充说明
V6 中所有路由默认采用“精准匹配”逻辑,因此 exact 属性完全不需要添加,属于冗余代码。
如果需要在渲染组件前执行额外逻辑(比如之前用 render 实现的场景),可以把逻辑封装到独立组件中,或者用匿名组件包裹:
// 方式1:匿名组件内写逻辑 <Route path="*" element={ // 这里可以添加你的逻辑代码 <Home /> } /> // 方式2:封装成独立组件 const HomeWrapper = () => { // 这里写逻辑代码 return <Home />; }; <Route path="*" element={<HomeWrapper />} />
内容的提问来源于stack exchange,提问作者Iram Kahkashan
相关产品推荐
相关产品推荐

