next-app

โดย contentstack

โครงสร้าง App Router, คอมโพเนนต์ React, ความแตกต่างระหว่าง client กับ server และรูปแบบการเรนเดอร์ใน kickstart-next

npx skills add https://github.com/contentstack/kickstart-next --skill next-app

Next.js app – kickstart-next

When to use

  • You are adding or changing routes, layouts, or UI components.
  • You are deciding client vs server components or how preview mode loads data.

Instructions

App Router

  • app/layout.tsx is the root layout; app/page.tsx is the home route.
  • app/page.tsx is an async Server Component when not in preview: it calls getPage("/") and passes the result to the default import from @/components/Page.

Preview path (client)

  • components/Preview.tsx is a Client Component ("use client"). It initializes live preview in useEffect, subscribes to ContentstackLivePreview.onEntryChange, and refetches via getPage(path) when the URL path changes.

Page UI component

  • components/Page.tsx default export is imported elsewhere as Page (import Page from "@/components/Page"). The function implementing it is named ContentDisplay inside the file; treat the public name as Page when wiring props.
  • It renders title, description, next/image for assets, sanitized rich HTML via isomorphic-dompurify and dangerouslySetInnerHTML, and modular blocks with VB_EmptyBlockParentClass for empty Visual Builder state.
  • Spread page?.$ / block $ attributes onto DOM nodes so Live Preview can bind fields.

Images

  • Use next/image for remote images. Remote hostnames must stay allowed in next.config.mjs (images.remotePatterns and optional env hostname).

Imports

  • Path alias @/* maps to the repo root per tsconfig.json (e.g. @/lib/contentstack, @/components/Page).

Skills เพิ่มเติมจาก contentstack

cms-assets
contentstack
ให้คำแนะนำนักพัฒนาเกี่ยวกับการจัดระเบียบ การส่งมอบ และการแปลง assets ใน Contentstack ครอบคลุมโครงสร้างโฟลเดอร์ การแปลงผ่าน Image Delivery API การเผยแพร่…
cms-branches-aliases
contentstack
แนะนำนักพัฒนาเกี่ยวกับการใช้ branches ของ Contentstack สำหรับการพัฒนาคอนเทนต์แบบแยกส่วน และ aliases สำหรับการ部署คอนเทนต์โดยไม่มีการหยุดให้บริการ ครอบคลุมกลยุทธ์การจัดการ branches และ…
cms-data-modeling-best-practices
contentstack
แนะนำนักพัฒนาในการออกแบบโมเดลเนื้อหาใน Contentstack โดยใช้โครงสร้างที่เรียบง่ายที่สุดและสามารถนำกลับมาใช้ใหม่ได้ สกิลนี้อธิบายว่าควรใช้ content types, references, global… เมื่อใด
cms-live-preview-visual-builder-support-assistant
contentstack
วินิจฉัยและแนะนำการติดตั้ง Contentstack Live Preview และ Visual Builder ตรวจสอบบริบทตัวอย่าง ระบุสัญญาที่ขาด และแนะนำ…
cms-releases
contentstack
แนะนำนักพัฒนาเกี่ยวกับการใช้ Contentstack Releases สำหรับการปรับใช้เนื้อหาแบบประสานงานและเป็นอะตอมมิก ครอบคลุมการสร้างรีลีส การจัดการไอเทม การปรับใช้แบบเป็นขั้นตอน…
cms-roles-permissions
contentstack
ให้คำแนะนำนักพัฒนาเกี่ยวกับการออกแบบบทบาท สิทธิ์ ทีม และการเข้าถึงโทเค็นใน Contentstack อธิบายบทบาทในตัว บทบาทที่กำหนดเอง การรวมสิทธิ์…
cms-taxonomy
contentstack
ให้คำแนะนำนักพัฒนาเกี่ยวกับการใช้ Contentstack Taxonomy สำหรับการจำแนกเนื้อหาที่มีโครงสร้างและเป็นลำดับชั้น รวมถึงการกรองฝั่งดีลิเวอรี ครอบคลุม taxonomy เทียบกับ tags,…
cms-tokens-authentication
contentstack
แนะนำนักพัฒนาในการเลือกวิธีการรับรองความถูกต้องและประเภทโทเค็นของ Contentstack ที่เหมาะสมสำหรับกรณีการใช้งาน frontend, backend, automation และแอปพลิเคชันของบุคคลที่สาม…