Project Grid
การ์ดโปรเจกต์แบบตาราง กดปุ่มด้านบนเพื่อกรองตาม tag
วิธีใช้
สร้างไฟล์แล้ววางโค้ด
ใน Portfolio Starter สร้างไฟล์
components/ProjectGrid.tsxกด Copy code ด้านบน แล้ววางทั้งหมดImport มาใช้
เปิด
app/page.tsxเพิ่มบรรทัด import ไว้บนสุด แล้ววาง component ในreturnimport ProjectGrid from "@/components/ProjectGrid"; export default function Home() { return ( <main> <ProjectGrid /> </main> ); }ใส่ข้อมูลของคุณผ่าน props
ไม่ใส่ props ก็แสดงข้อมูลตัวอย่างได้ พอพร้อมแล้วส่งข้อมูลของคุณเข้าไปแบบนี้
<ProjectGrid projects={[ { title: "My Portfolio", description: "This website.", tags: ["Web"], href: "https://github.com/..." }, { title: "Club Poster", description: "Poster for art club.", tags: ["Design"], href: "#", image: "/poster.jpg" }, ]} />
Props
| Prop | Type | ใช้ทำอะไร |
|---|---|---|
heading | string | หัวข้อ |
projects | { title; description; tags: string[]; href; image? }[] | ปุ่มกรองสร้างเองจาก tags ที่คุณใส่ |
ทุก prop ไม่บังคับ (มี ? ในโค้ด) ถ้าไม่ใส่จะใช้ค่าตัวอย่างในวงเล็บ = … ของ function
Dependencies
ไม่ต้องติดตั้งอะไรเพิ่ม ใช้ได้กับ Portfolio Starter ทันที (Next.js + React + Tailwind CSS)
ทำไมมี "use client"component นี้ใช้ useState จำค่าที่เปลี่ยนเมื่อกดปุ่ม ซึ่งต้องทำงานในเบราว์เซอร์ จึงต้องมี "use client" เป็นบรรทัดแรกของไฟล์ ห้ามลบ