以下のプログラムに関しまして、
ざっくりとした私の理解は以下の通りです。
getStaticProps() → getaccount() →戻り値をprops格納して返却
そのうえで下記2点がわからないのでご教示願います。
1.JSON.parse(json).persons を実行することで
person.jsonからpersonsオブジェクトを取得できると思いますが
後半のas Person[]という記述が理解できません。
型チェックの意味でしょうか?値の追加ならappendを使うと思いますが、この用法はtypescriptならでしょうか?
2.getStaticProps()の戻り値がわかりません。
getaccount()からデータを取得した後、allPersonsDataには以下の値が入る認識です。
allPersonsData.Person[]
さらにそれをpropsに格納しますので
props.allPersonsData.Personに最終的になるはずなのですが
戻り値の指定の仕方が複雑すぎてよくわかりません。どのように見ていけば良いのかご教示願います。
Promise<{ props: { allPersonsData: Person[] } }>
json
1{ 2 "persons": [ 3 { 4 "user_id": 123, 5 "user_name": "yamada", 6 } 7 ] 8}
typescript
1export type Person = { 2 "user_id": number, 3 "user_name": string 4} 5 6 7export function getaccount() { 8 const json = fs.readFileSync("C:\temp\person.json", "utf8") 9 return JSON.parse(json).persons as Person[] 10} 11 12 13export async function getStaticProps(): Promise<{ props: { allPersonsData: Person[] } }> { 14 const allPersonsData = getaccount() 15 16 return { 17 props: { 18 allPersonsData 19 } 20 } 21}
回答1件
あなたの回答
tips
プレビュー