@@ -3,60 +3,41 @@ import styles from './page.module.css'
33import Link from 'next/link'
44import Image from 'next/image'
55
6- const Blog = ( ) => {
6+
7+ async function getData ( ) {
8+ const res = await fetch ( 'https://jsonplaceholder.typicode.com/posts' , {
9+ cache :'no-store'
10+ } )
11+ if ( ! res . ok ) {
12+ throw new Error ( 'Failed to fetch data' )
13+ }
14+
15+ return res . json ( )
16+ }
17+
18+ const Blog = async ( ) => {
19+ const data = await getData ( ) ;
720 return (
821 < div className = { styles . mainContainer } >
9- < Link href = '/blog/tesslug' className = { styles . container } >
10- < div className = { styles . imgContainer } >
11- < Image
12- src = 'https://i.pinimg.com/564x/7d/7a/02/7d7a02a6df18a1dfce7e5d8c74b9a7d7.jpg'
13- alt = 'image blog'
14- width = { 400 }
15- height = { 250 }
16- className = { styles . img }
17- />
18- </ div >
19- < div className = { styles . content } >
20- < h1 className = { styles . title } > ナツコミ2021開催中!</ h1 >
21- < p className = { styles . description } > 対象商品購入でコースタープレゼント‼️】 8月よりナツコミ参加書店にて #マッシュル のコースター配布を開始します!
22- < br > </ br > 対象商品を購入してぜひゲットしてくださいね✨
23- < br > </ br > ※配布条件・時期は書店により異なります。</ p >
24- </ div >
25- </ Link >
26- < Link href = '/blog/tesslug' className = { styles . container } >
27- < div className = { styles . imgContainer } >
28- < Image
29- src = 'https://i.pinimg.com/564x/7d/7a/02/7d7a02a6df18a1dfce7e5d8c74b9a7d7.jpg'
30- alt = 'image blog'
31- width = { 400 }
32- height = { 250 }
33- className = { styles . img }
34- />
35- </ div >
36- < div className = { styles . content } >
37- < h1 className = { styles . title } > ナツコミ2021開催中!</ h1 >
38- < p className = { styles . description } > 対象商品購入でコースタープレゼント‼️】 8月よりナツコミ参加書店にて #マッシュル のコースター配布を開始します!
39- < br > </ br > 対象商品を購入してぜひゲットしてくださいね✨
40- < br > </ br > ※配布条件・時期は書店により異なります。</ p >
41- </ div >
42- </ Link >
43- < Link href = '/blog/tesslug' className = { styles . container } >
44- < div className = { styles . imgContainer } >
45- < Image
46- src = 'https://i.pinimg.com/564x/7d/7a/02/7d7a02a6df18a1dfce7e5d8c74b9a7d7.jpg'
47- alt = 'image blog'
48- width = { 400 }
49- height = { 250 }
50- className = { styles . img }
51- />
52- </ div >
53- < div className = { styles . content } >
54- < h1 className = { styles . title } > ナツコミ2021開催中!</ h1 >
55- < p className = { styles . description } > 対象商品購入でコースタープレゼント‼️】 8月よりナツコミ参加書店にて #マッシュル のコースター配布を開始します!
56- < br > </ br > 対象商品を購入してぜひゲットしてくださいね✨
57- < br > </ br > ※配布条件・時期は書店により異なります。</ p >
58- </ div >
59- </ Link >
22+ {
23+ data . map ( item => (
24+ < Link href = { `/blog/${ item . id } ` } className = { styles . container } key = { item . id } >
25+ < div className = { styles . imgContainer } >
26+ < Image
27+ src = 'https://i.pinimg.com/564x/7d/7a/02/7d7a02a6df18a1dfce7e5d8c74b9a7d7.jpg'
28+ alt = 'image blog'
29+ width = { 400 }
30+ height = { 250 }
31+ className = { styles . img }
32+ />
33+ </ div >
34+ < div className = { styles . content } >
35+ < h1 className = { styles . title } > { item . title } </ h1 >
36+ < p className = { styles . description } > { item . body } </ p >
37+ </ div >
38+ </ Link >
39+ ) )
40+ }
6041 </ div >
6142 )
6243}
0 commit comments