技能 nextjs-best-practices
📦

nextjs-best-practices

安全

Maîtrisez les bonnes pratiques du App Router Next.js

Développez des applications Next.js prêtes pour la production en toute confiance. Apprenez les Server Components, les stratégies de récupération de données et les modèles de routage évolutifs.

支持: Claude Codex Code(CC)
📊 71 充足
1

下载技能 ZIP

2

在 Claude 中上传

前往 设置 → 功能 → 技能 → 上传技能

3

开启并开始使用

测试它

正在使用“nextjs-best-practices”。 Devrais-je utiliser useState dans un Server Component ?

预期结果:

Non. Les Server Components ne peuvent pas utiliser useState, useEffect ou les gestionnaires d'événements. Ces hooks nécessitent le JavaScript du navigateur. Si vous avez besoin d'état, marquez le composant avec 'use client' ou extrayez les parties interactives dans un Client Component séparé.

正在使用“nextjs-best-practices”。 Comment mettre en cache les réponses API dans Next.js ?

预期结果:

Utilisez les options fetch : fetch(url, { next: { revalidate: 60 } }) met en cache pendant 60 secondes. Pour le contenu statique, omettez revalidate pour la mise en cache au moment du build. Utilisez 'no-store' pour désactiver complètement la mise en cache.

正在使用“nextjs-best-practices”。 Quel est le but de loading.tsx ?

预期结果:

loading.tsx fournit des états de chargement automatiques pendant la navigation et la récupération de données. Il s'affiche pendant le chargement du nouveau segment, améliorant les performances perçues. Placez-le à côté de page.tsx dans n'importe quel segment de route.

安全审计

安全
v2 • 2/24/2026

This skill is documentation-only content describing Next.js App Router best practices. Static analysis flagged 18 patterns (external_commands, weak cryptographic algorithms), but all are FALSE POSITIVES. The SKILL.md file contains only educational markdown content with code examples - no executable code, no shell commands, no cryptographic operations. Safe for publication.

1
已扫描文件
209
分析行数
0
发现项
2
审计总数
未发现安全问题
审计者: claude 查看审计历史 →

质量评分

38
架构
100
可维护性
87
内容
31
社区
100
安全
91
规范符合性

你能构建什么

Migration de Pages vers App Router

Transitionnez les projets Next.js existants vers l'architecture App Router avec des modèles Server Component appropriés.

Construction de nouvelles applications Next.js

Démarrez de nouveaux projets avec une structure de dossiers correcte, des stratégies de mise en cache et une architecture de composants dès le premier jour.

Revue de code et optimisation

Auditez les bases de code existantes pour détecter les anti-modèles comme les Client Components inutiles ou les états de chargement manquants.

试试这些提示

Décision du type de composant
J'ai un composant qui affiche les données de profil d'un utilisateur et contient un bouton de suivi. Devrait-il s'agir d'un Server Component ou d'un Client Component ? Expliquez le raisonnement.
Stratégie de récupération de données
Quel est le modèle fetch recommandé pour afficher des listes de produits qui doivent être mises à jour toutes les 5 minutes ? Montrez l'implémentation.
Organisation des routes
Comment organiser un tableau de bord avec plusieurs sections (analytique, paramètres, utilisateurs) qui partagent une mise en page commune mais ne doivent pas affecter la structure de l'URL ?
Implémentation complète d'une fonctionnalité
Créez un formulaire de commentaires utilisant Server Actions. Incluez la validation des entrées avec Zod, les mises à jour optimistes de l'interface et la gestion des erreurs. Montrez à la fois le code Server Component et Client Component.

最佳实践

  • Commencez par les Server Components par défaut, ajoutez des Client Components uniquement lorsque l'interactivité est requise
  • Utilisez des groupes de routes avec des parenthèses pour organiser les routes sans affecter le chemin de l'URL
  • Implémentez loading.tsx et error.tsx pour chaque segment de route majeur afin de gérer les états en attente et d'erreur

避免

  • Ajouter 'use client' à chaque composant - cela va à l'encontre du but des Server Components et augmente la taille du bundle
  • Récupérer des données dans des Client Components au lieu de Server Components - provoque des requêtes en cascade et des chargements plus lents
  • Ignorer les frontières d'erreur appropriées - les erreurs non gérées font planter toute l'application au lieu d'afficher une interface de secours

常见问题

Quand dois-je utiliser les Server Components par rapport aux Client Components ?
Utilisez les Server Components par défaut pour la récupération de données, la mise en page et le contenu statique. Utilisez les Client Components uniquement lorsque vous avez besoin de useState, useEffect, de gestionnaires d'événements ou d'APIs navigateur. Divisez les grands composants pour garder les parties Client minimales.
Comment fonctionne la mise en cache dans App Router ?
Next.js met en cache les requêtes fetch par défaut. Utilisez revalidate pour la revalidation basée sur le temps (ISR), revalidatePath ou revalidateTag pour les mises à jour à la demande, et no-store pour désactiver la mise en cache. Chaque segment de route peut également avoir sa propre configuration de mise en cache.
Que sont les Server Actions et quand dois-je les utiliser ?
Les Server Actions sont des fonctions async marquées avec 'use server' qui s'exécutent sur le serveur. Utilisez-les pour les soumissions de formulaires, les mutations de données et le déclenchement de revalidation. Validez toujours les entrées et gérez correctement les erreurs.
Comment gérer l'authentification dans App Router ?
Vérifiez l'authentification dans les Server Components avant d'afficher le contenu protégé. Utilisez les middleware pour la protection au niveau des routes. Pour les Client Components, récupérez le statut d'authentification depuis un Server Component ou utilisez un fournisseur d'authentification côté client.
Quelle est la différence entre layout.tsx et template.tsx ?
layout.tsx persiste lors de la navigation et maintient l'état. template.tsx crée une nouvelle instance à chaque navigation, remontant les enfants. Utilisez layout pour les interfaces persistantes comme la navigation, template lorsque vous avez besoin d'un comportement de réinitialisation.
Puis-je utiliser des routes API avec App Router ?
Oui. Créez des fichiers route.ts dans le répertoire app avec des gestionnaires GET, POST, PUT, PATCH, DELETE. Utilisez Route Handlers pour les points de terminaison API. Envisagez le runtime Edge pour de meilleures performances sur les points de terminaison simples.

开发者详情

文件结构

📄 SKILL.md