如何使嵌套的Reaction路由器组件加载到新页面,而不是加载到页面的一半
我当前的情况是,我的App.js
文件中有我的主要父路由/交换机,但在App.js
文件中的某个路由中,我还有另一个组件,该组件也具有自己的<Router>
路由/交换机设置,该组件调用名为<MyJobComponent />
的另一个组件
我设置的文件层次结构如下:
App.js - has route/path to the component <AllJobs />
|
|---> AllJobs.js - has nested route/path to the component <MyJobComponent />
|
|---> MyJobComponent.js - has the <Link to={`/my-job-id/${item.job_id}`}
该组件在此处以AllJobs.js
级别呈现,而不是在App.js
级别呈现,而我希望它呈现在App.js
级别。
<Switch>
<Route exact path="/job-path/:jobID" component={MyJobComponent} />
</Switch>
在<MyJobComponent />
中,我有以下Link to
代码:
<TableCell style={{width: '10%'}}>
<Link
to={`/my-job-id/${item.job_id}`}
style={{ textDecoration: 'underline', color: 'black' }}
>
{item.job_id}
</Link>
</TableCell>
单击此Link to
将使我的页面位于<MyJobComponent />
内页面的一半位置
根据反应路由器嵌套示例
更新查看此示例:React-Router Nested如果您单击Topics
,然后单击子链接Components
,您将看到它在这些子链接下方显示标题components
。
components
。这可能吗?
解决方案
将此代码移至App.js:
<Switch>
<Route exact path="/job-path/:jobID" component={MyJobComponent} />
</Switch>
相关文章