Claude Code के साथ Implement Pagination कैसे करें
Claude Code का उपयोग करके implement pagination सीखें। Practical code examples और step-by-step guidance शामिल है।
pageネーションimplementationको Claude Code से Efficient बनाएं
pageネーションは一見シンプルですが、UIcomponent、API設計、queryoptimizationと幅広い知識が求められ है।Claude Code से、要件を伝える से हीフロントエンド सेバックエンド तक一貫したimplementation generateでき है।
オフセットベースのpageネーション
もっともbasic pattern है।Claude Codeにअगला की तरह依頼し है।
> pageネーション付きの記事listcomponentをReactで作って。
> 1page10件、page番号display、पहलेबाद移動buttonあり。
interface PaginationProps {
currentPage: number;
totalPages: number;
onPageChange: (page: number) => void;
}
export function Pagination({ currentPage, totalPages, onPageChange }: PaginationProps) {
const pages = Array.from({ length: totalPages }, (_, i) => i + 1);
// displayするpage番号を絞る(現在pageのपहलेबाद2page)
const visiblePages = pages.filter(
(p) => p === 1 || p === totalPages || Math.abs(p - currentPage) <= 2
);
return (
<nav className="flex items-center gap-1">
<button
onClick={() => onPageChange(currentPage - 1)}
disabled={currentPage === 1}
className="px-3 py-1 rounded disabled:opacity-50"
>
Previous
</button>
{visiblePages.map((page, i) => {
// 省略記号のdisplay
const prev = visiblePages[i - 1];
const showEllipsis = prev && page - prev > 1;
return (
<span key={page}>
{showEllipsis && <span className="px-2">...</span>}
<button
onClick={() => onPageChange(page)}
className={`px-3 py-1 rounded ${
page === currentPage ? "bg-blue-600 text-white" : "hover:bg-gray-100"
}`}
>
{page}
</button>
</span>
);
})}
<button
onClick={() => onPageChange(currentPage + 1)}
disabled={currentPage === totalPages}
className="px-3 py-1 rounded disabled:opacity-50"
>
Next
</button>
</nav>
);
}
カーソルベースのpageネーション
大量data के case मेंはカーソルベースが効率的 है।APIとフロントエンドの両方を一度にgenerateでき है।
// APIroute(Next.js App Router)
import { db } from "@/lib/database";
export async function GET(request: Request) {
const { searchParams } = new URL(request.url);
const cursor = searchParams.get("cursor");
const limit = parseInt(searchParams.get("limit") || "20");
const items = await db.post.findMany({
take: limit + 1, // अगलाpageの存在confirm用に1件多くfetch
...(cursor && {
cursor: { id: cursor },
skip: 1,
}),
orderBy: { createdAt: "desc" },
});
const hasMore = items.length > limit;
const data = hasMore ? items.slice(0, -1) : items;
const nextCursor = hasMore ? data[data.length - 1].id : null;
return Response.json({ data, nextCursor, hasMore });
}
無限scrollのimplementation
Intersection Observer APIを使った無限scrollも、Claude Code से簡潔にimplementationでき है।
import { useEffect, useRef, useState, useCallback } from "react";
interface Item {
id: string;
title: string;
}
export function InfiniteList() {
const [items, setItems] = useState<Item[]>([]);
const [cursor, setCursor] = useState<string | null>(null);
const [hasMore, setHasMore] = useState(true);
const [loading, setLoading] = useState(false);
const loaderRef = useRef<HTMLDivElement>(null);
const loadMore = useCallback(async () => {
if (loading || !hasMore) return;
setLoading(true);
const params = new URLSearchParams({ limit: "20" });
if (cursor) params.set("cursor", cursor);
const res = await fetch(`/api/items?${params}`);
const data = await res.json();
setItems((prev) => [...prev, ...data.data]);
setCursor(data.nextCursor);
setHasMore(data.hasMore);
setLoading(false);
}, [cursor, hasMore, loading]);
useEffect(() => {
const observer = new IntersectionObserver(
(entries) => {
if (entries[0].isIntersecting) loadMore();
},
{ threshold: 0.1 }
);
if (loaderRef.current) observer.observe(loaderRef.current);
return () => observer.disconnect();
}, [loadMore]);
return (
<div>
{items.map((item) => (
<div key={item.id} className="p-4 border-b">
{item.title}
</div>
))}
<div ref={loaderRef} className="p-4 text-center">
{loading && "Loading..."}
{!hasMore && "All items displayed"}
</div>
</div>
);
}
basic use करने का तरीकाはClaude Codeのintroduction guideを、プロンプトの工夫はプロンプトを改善する5つのTipsदेखें。
Summary
Claude Code का उपयोग करके、オフセット型、カーソル型、無限scroll आदि、要件に合ったpageネーションをकम समय मेंimplementationでき है।API सेUI तक一貫した設計が得られるのが大きなメリット है।
विस्तार से जानने के लिएClaude Codeofficial documentationदेखें。
मुफ़्त PDF: 5 मिनट में Claude Code चीटशीट
बस अपना ईमेल दर्ज करें और हम तुरंत A4 एक-पृष्ठ चीटशीट PDF भेज देंगे।
हम आपकी व्यक्तिगत जानकारी की सुरक्षा करते हैं और स्पैम नहीं भेजते।
लेखक के बारे में
Masa
Claude Code का गहराई से उपयोग करने वाले इंजीनियर। claudecode-lab.com चलाते हैं, जो 10 भाषाओं में 2,000 से अधिक पेजों वाला टेक मीडिया है।
संबंधित लेख
हर दिन बहुभाषी Claude Code लेख प्रकाशित करने से पहले 7 जांचें
एक व्यावहारिक चेकलिस्ट ताकि आप हर दिन बहुभाषी Claude Code लेख प्रकाशित करते समय कोई भाषा न छोड़ें, CTA न तोड़ें और पुराना पेज लाइव न रहने दें।
Codex Automations क्या है? AI से content ops, analysis और deploy करवाने का तरीका
Codex Automations से analytics, article planning, CTA सुधार, deploy और monetization workflow चलाने की practical guide.
Claude Code × GCP Cloud Functions संपूर्ण गाइड | सर्वरलेस फंक्शन तेज़ी से विकसित करें
Claude Code से GCP Cloud Functions को ऑप्टिमाइज़ करें। HTTP/Pub/Sub/Firestore ट्रिगर, लोकल टेस्टिंग और डिप्लॉयमेंट ऑटोमेशन — Masa के व्यावहारिक अनुभव से रियल कोड उदाहरणों के साथ।