利用Next.js构建单页面React应用

[复制链接]
发表于 2025-9-20 01:50:21 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
近来碰到一个题目 突然要一个单页面的项目 用惯了Next.js 而 create-react-app 又不保举且不灵活 最终找发现Nextjs也支持单页面应用 以下是利用Next.js构建单页面React应用过程
1 正常创建项目 (我选择的是Pages Router 而非 AppRoute)
2 修改设置文件
next.config.ts
  1. import type { NextConfig } from "next";
  2. const nextConfig: NextConfig = {
  3.     output: "export",
  4.     distDir: "dist", //默认打包后目录名 `build`
  5. };
  6. export default nextConfig;
复制代码
3 删除 src/api 目次 单页面应用 不支持api路由功能 放着会警告
两个常用页面 实验
index.tsx
  1. import Link from "next/link";
  2. import { useRouter } from "next/router";
  3. export default function Home() {
  4.     const router = useRouter();
  5.     // 编程式导航示例
  6.     const goToAbout = () => {
  7.         router.push("/about"); // 客户端跳转
  8.     };
  9.     return (
  10.         <div>
  11.             <h1>SPA Home Page</h1>
  12.             {/* 声明式导航 */}
  13.             <Link href='/about'>
  14.                 About Page
  15.             </Link>
  16.             {/* 编程式导航 */}
  17.             <button onClick={goToAbout}>Go to About</button>
  18.         </div>
  19.     );
  20. }
复制代码
about.tsx
  1. import Link from "next/link";
  2. import { useRouter } from "next/router";
  3. export default function AboutPage() {
  4.     const router = useRouter();
  5.     const goToAbout = () => {
  6.         router.push("/");
  7.     };
  8.     return (
  9.         <div>
  10.             <h1>SPA AboutPage</h1>
  11.             <Link href='/'>Home Page</Link>
  12.             <button onClick={goToAbout}>Go to Home</button>
  13.         </div>
  14.     );
  15. }
复制代码
在两个页面间跳转 发现已经不需加载 实现了单页面应用

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表