Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/444.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript React Router-404页面由于自定义路由组件而始终显示_Javascript_Reactjs_React Router_React Router Dom - Fatal编程技术网

Javascript React Router-404页面由于自定义路由组件而始终显示

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})=>{ 返回( ( )}/> ); });

我有一个组件,它采用与标准react路由器类似的道具
路由
,并返回路由。此返回路线有一个渲染道具,该道具仅通过组件,但添加了导航组件。此自定义
NavRoute
不适用于react router
Switch
组件,因为当我在交换机内使用自定义组件以及catch all 404页面时,该页面始终显示

如果没有其他路由与url匹配,如何使404组件仅显示

导航路线

const-NavRoute=({exact,path,component:component})=>{
返回(
(
)}/>
);
});
用法


编辑: 完整示例的代码沙盒:
codesandobx的Url:

开关仅适用于其正下方的第一级组件。它无法遍历整个树。

为了解决这个问题,我们可以传递路由数组,而不是用片段包装的路由。我已经在codesandbox中进行了更改和更新


我试用了你的代码,它似乎对我有效。也许我误解了你想做什么?嗯。我试图简化我的代码,所以它不会太长,但我现在可以在codepen上放一个完整的示例。检查主帖子中的编辑。这隐藏了/invite/:inviteID路由上的404消息,但它也隐藏了它/asvdyuasidhn@BenjaminSommer我找到了解决方案,并在答案中进行了更新。