【发布时间】:2021-05-21 14:25:31
【问题描述】:
我习惯使用 React Router,它提供了极大的灵活性,可以在页面的不同位置从单个路由渲染多个组件,而无需重新加载整个页面。我在下面提供了一个示例。我想在未来的项目中使用 Next.js,但我找不到重现这种类似应用程序的路由器功能的方法,因为 Next.js 似乎只提供基于页面的路由,无法控制页面上各个组件的重新呈现响应路线变化。这似乎适用于网页,但不适用于可能需要多次更改以响应单个路由更改的复杂应用程序。
在以下示例中,我在 CRA 中使用 React Router 根据我的链接配置在页面上同时呈现多个组件。根据我目前的理解,这似乎无法使用 Next.js 重现。
https://codesandbox.io/s/react-router-component-routes-rcen4
代码在这里:
const BasicExample = () => (
<Router>
<div>
<ul>
<li>
<Link to="/">Home</Link>
</li>
<li>
<Link to="/about">About</Link>
</li>
<li>
<Link to="/about/me">About Me</Link>
</li>
<li>
<Link to="/about/you">About You</Link>
</li>
<li>
<Link to="/topics">Topics</Link>
</li>
</ul>
<hr />
<Route exact path="/" component={Home} />
<Route path="/topics" component={Topics} />
<Route path="/about" component={About} />
<Route path="/about/me" component={AboutMe} />
<Route path="/about/you" component={AboutYou} />
</div>
</Router>
);
有没有办法有效地实现这一点并仅渲染我需要的组件以响应使用 Next.js 的路由?
【问题讨论】: