首页 > 解决方案 > 如何在 NextJS 中呈现组件而不是页面?

问题描述

我正在尝试修复身份验证内部的 NextJS 应用程序中的按钮。该应用程序不将页面用于经过身份验证的路由,一切都是/#如此,我正在尝试弄清楚如何从按钮路由设置组件。原始开发人员不希望在身份验证中有任何页面路径。

是否有类似 React 的流程,这样我可以路由到组件而不是页面?

<Router>
  <Switch>
    <Route path='/settings'>
      <Settings />
    </Route>
  </Switch>
<Router>

我觉得 withRouter 可能是关键,但我找不到组件所需的路径。

标签: react-routercomponentsnext.jsreact-router-dom

解决方案


我认为你的方法对于 nextjs 应用程序来说不是最好的。无论如何,您可以在 nextjs 配置中禁用 nextjs 文件系统路由并使用自定义服务器

module.exports = {
  useFileSystemPublicRoutes: false,
}

然后你可以使用 react-router 组件。查看本教程以查看更详细的示例。


推荐阅读