CV
Formations
Projets
Blog
TechMastry
Contact
Bonjour !
Depuis la migration vers Next.js 15, j'ai des erreurs TypeScript avec les params des pages dynamiques.
Type '{ id: string }' is missing the following properties from type 'Promise<any>': then, catch, finally
export default function Page({ params }: { params: { id: string } }) { return <div>Post ID: {params.id}</div> }
Comment je dois adapter mon code pour Next.js 15 ? J'ai lu quelque chose sur les params qui deviennent des Promises mais je ne comprends pas bien.
Merci ! 🤔
Salut ! C'est effectivement un changement important dans Next.js 15.
Depuis Next.js 15, les params et searchParams sont des Promises. Voici comment adapter ton code :
export default async function Page({ params }: { params: Promise<{ id: string }> }) { const { id } = await params; return <div>Post ID: {id}</div> }
Cela permet une meilleure optimisation des performances et prépare Next.js pour les futures fonctionnalités de streaming.
export async function generateMetadata({ params }: { params: Promise<{ id: string }> }) { const { id } = await params; return { title: `Post ${id}` }; }
J'ai prévu de faire une vidéo sur ce sujet dans la formation Next.js ! 📹