大家好,我不知道发生了什么事。我有以下路线:
<BrowserRouter>
<div>
<Switch>
<Route path="/patient/:id/" component={PatientWrapper} />
<Route path="/patient/:id/patient_profile/admission_form" component={PatientAdmission} />
<Route path="/patient/:id/patient_profile/discharge_form" component={PatientDischarge} />
<Route path="/patient/:id/patient_profile/encounter_details" component={PatientEncounterDetails} />
<Route path="/" component={App} />
</Switch>
</div>
</BrowserRouter>
只有路径为“/”的路由和路径为“/patient/:id”的路由才有效,其他3条路由只是没有显示与路径对应的组件。
这就是我进入路线的方式。我有一个标题组件,上面有正确的链接。见下文
<ul className="dropdown-menu dropdown-messages">
<li><Link to={"/patient/" + this.props.id +"/patient_profile/admission_form"} id="admission-link" >Admission</Link></li>
<li><Link to={"/patient/" + this.props.id +"/patient_profile/discharge_form"} id="discharge-link">Discharge</Link></li>
<li className="divider"></li>
<li><Link to={"/patient/" + this.props.id +"/patient_profile/encounter_details"} id="encounter-details">Encounter Details</Link></li>
</ul>
在头组件中,我从'react router dom'导入{Link};在我声明路由的文件中,我从'react router dom'导入{BrowserRouter,Route,Switch};
我做错了什么?
渲染管线时,请确保将其包裹:
<BrowserRouter>
<Switch>
<Route path="/patient/:id/" component={PatientWrapper} />
<Route path="/patient/:id/patient_profile/admission_form" component={PatientAdmission} />
<Route path="/patient/:id/patient_profile/discharge_form" component={PatientDischarge} />
<Route path="/patient/:id/patient_profile/encounter_details" component={PatientEncounterDetails} />
<Route path="/" component={App} />
</Switch>
</BrowserRouter>
这里的问题是您没有为父路由使用精确的道具。默认情况下,路由不会进行精确匹配。作为path/
的示例,/
和/病人
都被认为是匹配的。因此,即使在您的情况下,/患者/: id/
路由也匹配从/患者/: id/
开始的所有其他路由路径。由于Switch只呈现第一个匹配,所以即使对于其他路径,如/病人/: id/patient_profile/admission_form
,它也总是呈现病人包装。
使用如下所示的exact
prop,您可以明确指示路线精确匹配。
<BrowserRouter>
<div>
<Switch>
<Route exact path="/" component={App} />
<Route path="/patient/:id/" exact component={PatientWrapper} />
<Route path="/patient/:id/patient_profile/admission_form" component={PatientAdmission} />
<Route path="/patient/:id/patient_profile/discharge_form" component={PatientDischarge} />
<Route path="/patient/:id/patient_profile/encounter_details" component={PatientEncounterDetails} />
</Switch>
</div>
</BrowserRouter>
我使用React路由器的SPA,但我不确定如何显示索引路由"/"上的一些内容。 我的顶级路由器配置只是: 顶层组件呈现页眉/页脚和其他公共元素: 子路由工作正常,它们在应用程序组件中呈现。但是,如何在根路径上呈现某些内容,使其不只是一个空白页面?
我使用的反应路由器dom版本5.0.1一个简单的反应应用程序,我使用了汇总捆绑,这是我的路由器组件 问题是,它只在localhost:8000/处显示主路由,但当我尝试访问localhost:8000/hello或localhost:8000/登录时,会出现此错误 这是我的rollup.config };
Tango支持4种形式的路由匹配规则 静态路由 tg.Get("/", new(Action)) tg.Get("/static", new(Action))匹配 URL:/ 到 Action结构体的Get函数 匹配 URL:/static 到 Action结构体的Get函数 命名路由 tg.Get("/:name", new(Action)) tg.Get("/(:name)", new(Act
如果我将路由折叠起来,这样看起来就像: 工作很好。我嵌套的原因是因为我将在“dashboard”下有多个子项,并且希望它们都在URL中以为前缀。
向下滚动当前代码&错误 这段代码单独工作并呈现我的'app'组件 但是当我试图在我的应用程序组件中添加一个“链接”组件时,它将无法识别它。
我试图渲染父组件子组件与默认渲染组件通过相同的路由。 例如 父母组件可以通过此路由访问/破折号/概述现在在父母组件中,我想呈现一个与父母组件具有相同路由的默认组件。 ParentComponent.js 我想渲染。。它工作正常,但当我将路径更改为时,它不会呈现 我正在使用路由器在路由之间切换,我也在使用