การติดตั้ง
ตามมาตรฐาน React / Next.js(App Router)
ไลบรารีนี้สามารถใช้ได้ในสภาพแวดล้อม React ที่บริสุทธิ์และ Next.js App Router โดยจุดเริ่มต้นเฉพาะของ Next.js รองรับเวอร์ชัน 14.2 ถึงน้อยกว่า 17
rxjs (>= 7) และ fast-deep-equal (3.1.3) รวมอยู่ในไลบรารีเป็นการพึ่งพาในระหว่างการรันไทม์ จึงไม่จำเป็นต้องติดตั้งแยกต่างหาก.
การกำหนดประเภท (.d.ts) รวมอยู่ในแพ็กเกจ สามารถใช้งานได้ทันทีใน TypeScript.
สไตล์จะถูกนำเข้าในคอมโพเนนต์ตาม CSS Modules และทำงานโดยไม่ต้องนำเข้า CSS แบบทั่วไปรายการแยก.
ข้อกำหนด
- React >= 18, React DOM >= 18
peerDependencies - Next.js >= 14.2 < 17 เป็น peer dependency ที่จำเป็นเมื่อใช้ @byeolnaerim/flex-layout/next
ติดตั้ง
# npm
npm i @byeolnaerim/flex-layout
# yarn
yarn add @byeolnaerim/flex-layout
# pnpm
pnpm add @byeolnaerim/flex-layoutใน Next.js App Router ให้ระบุ URL เท่านั้นเพื่อเรนเดอร์ page.tsx บนเซิร์ฟเวอร์และวางลงใน pane ใหม่ของ FlexLayoutSplitScreen
ในการวาง page.tsx ลงใน FlexLayoutSplitScreen โดยใช้ URL ใน Next.js ให้ใช้ @byeolnaerim/flex-layout/next และ /next/generator การตั้งค่านี้ไม่จำเป็นสำหรับการใช้ FlexLayout ทั่วไป
import { FlexLayoutSplitScreenDragBox } from "@byeolnaerim/flex-layout/next";
import { generateFlexLayoutSplitScreenPageRegistry } from "@byeolnaerim/flex-layout/next/generator";หากเกิดข้อผิดพลาดเนื่องจากปัญหาที่เกี่ยวข้องกับขอบเขตฝั่งเซิร์ฟเวอร์ตามการตั้งค่าของสภาพแวดล้อม/การสร้าง ให้ใช้หนึ่งในตัวเลือกด้านล่าง.
ตัวเลือก 1. สร้างไฟล์ Client wrapper และส่งออก
FlexLayoutClient.tsx
tsx"use client";
export {
FlexLayout,
FlexLayoutContainer,
FlexLayoutSplitScreen,
} from "@byeolnaerim/flex-layout";และใน Server Component:
import {
FlexLayout,
FlexLayoutContainer,
FlexLayoutSplitScreen,
} from "@/components/FlexLayoutClient";ตัวเลือก 2. การนำเข้าที่ไดนามิก
import dynamic from "next/dynamic";
const FlexLayout = dynamic(
() => import("@byeolnaerim/flex-layout").then((m) => m.FlexLayout),
{ ssr: false }
);