森田です。
普段は何かしらの機能の実装の話をしてますが、今回は毛色の異なるお話をしようかと思います。
では早速こちらのコードをご覧ください。
import { useEffect, useState } from "react";
type Address = {
address1: string;
address2: string;
address3: string;
kana1: string;
kana2: string;
kana3: string;
prefcode: string;
zipcode: string;
};
export const App = () => {
const [address, setAddress] = useState<Address>();
const [loading, setLoading] = useState(true);
useEffect(() => {
const fetchData = async () => {
const response = await fetch("https://zipcloud.ibsnet.co.jp/api/search?zipcode=7830060"); //fetchでデータを取得
const data = await response.json();
setAddress(data.results[0]); //data.results[0]をaddressにセット
setLoading(false); //fetchが終わったらloadingをfalseにする
};
fetchData();
}, []);
if (loading) {
return <div>loading...</div>;
} else {
return <div></div>;
}
};
やっていることとしてページをロードした際に指定した郵便番号からどこの住所のものなのかを取得しているだけです。
fetch中はloading...と表示し、終わったら取得した内容を表示するといったページです。
では問題です。addressの型は何でしょうか。
〜シンキングタイム〜
