@@ -18,21 +18,23 @@ export function generateStaticParams() {
1818 return getAllChapterPaths ( ) . map ( p => ( { part : p . part , slug : p . slug } ) )
1919}
2020
21- export function generateMetadata ( { params } : { params : { part : string ; slug : string } } ) {
22- const part = getParts ( ) . find ( p => p . id === params . part )
23- const chapter = part ?. chapters . find ( c => c . slug === params . slug )
21+ export async function generateMetadata ( { params } : { params : Promise < { part : string ; slug : string } > } ) {
22+ const { part : partId , slug } = await params
23+ const part = getParts ( ) . find ( p => p . id === partId )
24+ const chapter = part ?. chapters . find ( c => c . slug === slug )
2425 if ( ! part || ! chapter ) return { title : '章节未找到' }
2526 const partLabel = part . id === 'appendix' ? part . title : `第 ${ part . number } 部分 · ${ part . title } `
2627 return { title : `${ chapter . title } | ${ partLabel } ` }
2728}
2829
29- export default async function ChapterPage ( { params } : { params : { part : string ; slug : string } } ) {
30- const part = getParts ( ) . find ( p => p . id === params . part )
31- const chapter = part ?. chapters . find ( c => c . slug === params . slug )
30+ export default async function ChapterPage ( { params } : { params : Promise < { part : string ; slug : string } > } ) {
31+ const { part : partId , slug } = await params
32+ const part = getParts ( ) . find ( p => p . id === partId )
33+ const chapter = part ?. chapters . find ( c => c . slug === slug )
3234
3335 if ( ! part || ! chapter ) notFound ( )
3436
35- const content = getChapterContent ( params . part , params . slug )
37+ const content = getChapterContent ( partId , slug )
3638 if ( ! content ) notFound ( )
3739
3840 return (
@@ -55,12 +57,12 @@ export default async function ChapterPage({ params }: { params: { part: string;
5557 />
5658 </ div >
5759 < PageFeedback
58- pagePath = { `/book/${ params . part } /chapter/${ params . slug } ` }
60+ pagePath = { `/book/${ partId } /chapter/${ slug } ` }
5961 pageTitle = { chapter . title }
60- sourcePath = { `content/${ params . part } /${ params . slug } .mdx` }
62+ sourcePath = { `content/${ partId } /${ slug } .mdx` }
6163 editLabel = "编辑本章"
6264 />
63- < ChapterNav currentPart = { params . part } currentSlug = { params . slug } />
65+ < ChapterNav currentPart = { partId } currentSlug = { slug } />
6466 </ article >
6567 )
6668}
0 commit comments