Javascript React Router-404页面由于自定义路由组件而始终显示
我有一个组件,它采用与标准react路由器类似的道具Javascript React Router-404页面由于自定义路由组件而始终显示,javascript,reactjs,react-router,react-router-dom,Javascript,Reactjs,React Router,React Router Dom,我有一个组件,它采用与标准react路由器类似的道具路由,并返回路由。此返回路线有一个渲染道具,该道具仅通过组件,但添加了导航组件。此自定义NavRoute不适用于react routerSwitch组件,因为当我在交换机内使用自定义组件以及catch all 404页面时,该页面始终显示 如果没有其他路由与url匹配,如何使404组件仅显示 导航路线 const-NavRoute=({exact,path,component:component})=>{ 返回( ( )}/> ); });
路由
,并返回路由。此返回路线有一个渲染道具,该道具仅通过组件,但添加了导航组件。此自定义NavRoute
不适用于react routerSwitch
组件,因为当我在交换机内使用自定义组件以及catch all 404页面时,该页面始终显示
如果没有其他路由与url匹配,如何使404组件仅显示
导航路线
const-NavRoute=({exact,path,component:component})=>{
返回(
(
)}/>
);
});
用法
编辑:
完整示例的代码沙盒:
codesandobx的Url:开关仅适用于其正下方的第一级组件。它无法遍历整个树。 为了解决这个问题,我们可以传递路由数组,而不是用片段包装的路由。我已经在codesandbox中进行了更改和更新
我试用了你的代码,它似乎对我有效。也许我误解了你想做什么?嗯。我试图简化我的代码,所以它不会太长,但我现在可以在codepen上放一个完整的示例。检查主帖子中的编辑。这隐藏了/invite/:inviteID路由上的404消息,但它也隐藏了它/asvdyuasidhn@BenjaminSommer我找到了解决方案,并在答案中进行了更新。