LoginSignup
1
0

Remix入門④ - Remixでのデータフェッチ、どうやってんの?

Last updated at Posted at 2024-01-31

おっす!Remix入門シリーズも今回で4回目やで!
今日はRemixでのデータフェッチングについて話してみよかー。
データフェッチってなんや?どうやって実装するんや?って思ってるやろ?今回はその辺をわかりやすく説明していくで!

Remixでのデータフェッチって?

Remixではな、ルートに対応するコンポーネントでデータをフェッチするんや。これによって、ページごとに必要なデータをサーバーサイドで取得して、ページを構築できるんやで。これができると、初回のページ表示がめっちゃ速くなるんや。

サンプルコード: データフェッチの基本

// app/routes/posts.js
import { useLoaderData } from "remix";

export let loader = async () => {
  let response = await fetch("https://jsonplaceholder.typicode.com/posts");
  let posts = await response.json();
  return posts;
};

export default function Posts() {
  let posts = useLoaderData();
  return (
    <div>
      <h1>ブログの記事一覧やで</h1>
      <ul>
        {posts.map(post => (
          <li key={post.id}>{post.title}</li>
        ))}
      </ul>
    </div>
  );
}

このコードではな、ブログの記事一覧をAPIから取得して、表示してるんや。loader 関数でデータをフェッチして、useLoaderData フックを使ってコンポーネントでそのデータを使ってるんやで。

なんでええんや、この方法は?

  1. 効率的なデータロード: ページごとに必要なデータをサーバーサイドで先に取得できるから、ブラウザでの処理が減るんや。これによって、ページの表示が速くなるんやで。
  2. シンプルな実装: データの取得と表示のロジックが1つの場所にまとまるから、コードがシンプルで読みやすくなるんや。
  3. パフォーマンスの向上: SSRと組み合わせることで、ユーザーがページを訪れたときにはすでに必要なデータが揃ってる。これがパフォーマンスの向上につながるんや。

まとめ

いかがやったか?Remixでのデータフェッチングは、シンプルかつ効率的やで。ページ表示の速度を上げたい、データの扱いをもっとスマートにしたいって思ってるなら、Remixはめっちゃええ選択肢やで。次回の「Remix入門⑤」では、さらにRemixの機能を深掘りしていくから、楽しみにしててな!

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0