🎉

【Web Library】Nextjs13で覚える便利なライブラリ【#4Data Fetching】

2023/02/26に公開

【#4Data Fetching】

YouTube: https://youtu.be/gQqpzlYNQuE

https://youtu.be/gQqpzlYNQuE

今回はデータフェッチについて解説します。

「NextJs13」の「app」ディレクトリでは、
「getServerSideProps」, 「getStaticProps」, 「getInitialProps」
がサポートされていません。

https://beta.nextjs.org/docs/data-fetching/fundamentals

そこでこちらのドキュメントの内容に従って「page.tsx」にフェッチ用の
メソッドを設定します。

https://beta.nextjs.org/docs/data-fetching/fetching#asyncawait-in-server-components

「app」フォルダ内に新しく「fetch」フォルダを作成して、
その中に「page.tsx」を作成します。

app/fetch/page.tsx
async function getUsers() {
  const res = await fetch('https://jsonplaceholder.typicode.com/users');
  // The return value is *not* serialized
  // You can return Date, Map, Set, etc.

  // Recommendation: handle errors
  if (!res.ok) {
    // This will activate the closest `error.js` Error Boundary
    throw new Error('Failed to fetch data');
  }

  return res.json();
}

const Fetchpage = async () => {
  const data = await getUsers();
  console.log(data);

  return <div>Fetchpage</div>;
};

export default Fetchpage;

ここまでできましたら、
ローカルサーバーを起動して

http://localhost:3000/fetch

こちらにアクセスします。
ブラウザ上ではコンソールにデータが表示されていないのですが、
VSコードのターミナルでユーザーのデータが取得できていることが確認できます。

Discussion