nextjs-best-practices
Next.js App Router 核心理念。服务端组件、数据获取、路由模式。
作者
分类
开发工具安装
热度:2
下载并解压到你的 skills 目录
复制命令,发送给 OpenClaw 自动安装:
下载并安装这个技能 https://openskills.cc/api/download?slug=sickn33-skills-nextjs-best-practices&locale=zh&source=copy
Next.js Best Practices - App Router 开发规范指南
技能概述
Next.js Best Practices 是一个 Claude AI 技能,提供 Next.js App Router 开发的核心规范和最佳实践,帮助开发者正确使用 Server Components、数据获取模式和路由组织方式。
适用场景
1. Next.js 项目架构决策
当你需要为新项目选择合适的技术方案时,这个技能可以帮你判断何时使用 Server Components、何时必须用 Client Components,以及如何组织路由结构来保持代码可维护性。
2. 性能优化与问题排查
当项目出现加载慢、包体积过大或缓存策略不当时,可以通过这个技能了解正确的数据获取模式、缓存配置和图片优化方法,定位并解决性能瓶颈。
3. 团队代码规范制定
对于需要统一团队编码标准的场景,这个技能提供了完整的最佳实践参考,涵盖项目结构、API 路由、Server Actions 使用规范等,帮助建立一致的代码风格。
核心功能
1. Server/Client 组件选择决策树
通过清晰的决策流程图,快速判断组件应该使用服务端还是客户端渲染。涵盖 useState、useEffect、事件处理器等关键判断条件,以及如何将两者结合使用的架构建议。
2. 数据获取与缓存策略
详细说明 Next.js 的三种数据获取模式(静态、ISR、动态),以及不同数据源(数据库、API、用户输入)应该采用的对应模式。包含完整的缓存层级和重新验证方法。
3. 路由与项目结构规范
提供 App Router 的文件约定说明,包括 page.tsx、layout.tsx、loading.tsx 等文件的用途,以及路由组、并行路由、拦截路由等高级模式的适用场景。
常见问题
Next.js 什么时候应该使用 'use client'?
只有当组件需要使用 React Hooks(如 useState、useEffect)、浏览器 API(如 window、localStorage)或事件处理器(onClick、onChange)时,才需要添加 'use client' 指令。默认情况下,所有组件都是服务端组件,优先保持这种状态可以获得更好的性能和更小的包体积。
Next.js 数据获取应该选择什么缓存策略?
默认使用静态生成(构建时缓存),适合不常变化的内容;需要定期更新的内容使用 ISR(设置 revalidate 时间);每个请求都需要最新数据时使用 no-store。数据库查询应该在 Server Component 中直接执行,API 调用使用 fetch 并配置合适的缓存选项。
Next.js App Router 的路由组织方式有哪些?
路由组 (name) 用于组织文件而不影响 URL 结构;并行路由 @slot 可以在同一层级渲染多个独立页面;拦截路由 (.) 用于模态框等覆盖场景。通过合理使用这些模式,可以保持代码结构清晰且符合业务逻辑。
Next.js 如何避免常见的反模式?
避免在所有组件上添加 'use client',应该优先使用服务端组件;不要在客户端组件中获取数据,将数据获取移到服务端;记得使用 loading.tsx 和 error.tsx 提供加载和错误状态;大型组件使用动态导入进行代码分割。