Dark mode
Build Tools
เครื่องมือ | ประเภท | ข้อดี |
---|---|---|
Bundler | Build เร็วที่สุด | |
Framework | SSR/SSG ในตัว | |
Bundler | จากทีม Next.js |
State Management
เครื่องมือ | รูปแบบ | ระดับความซับซ้อน |
---|---|---|
Store-based | ง่าย | |
Flux | ปานกลาง-สูง | |
Atomic | ง่าย-ปานกลาง |
Styling
เครื่องมือ | วิธีการ | เหมาะกับ |
---|---|---|
Utility-first | ทุกขนาดโปรเจค | |
Scoped CSS | โปรเจคเล็ก-กลาง | |
CSS-in-JS | ทีมที่ชอบเขียน CSS ใน JS |
Testing
เครื่องมือ | ประเภท | ใช้กับ |
---|---|---|
Unit/Component | ทุกโปรเจค | |
E2E | ทดสอบทั้งระบบ | |
Component | ทดสอบ UI |
Form Management
เครื่องมือ | ใช้กับ | ประสิทธิภาพ |
---|---|---|
Zod | สูง | |
Validation | Type-safe |
Internationalization
i18next: สำหรับแอพหลายภาษา
Linting/Formatting
Package Manager
Deployment
Platform | ข้อดี | เหมาะกับ |
---|---|---|
ง่ายและเร็ว | Next.js/SPA | |
CI/CD ในตัว | ทุกโปรเจค | |
Edge Network | ต้องการความเร็วสูง |
ตัวอย่างการตั้งค่า
tsx
// src/main.tsx
import React from "react";
import ReactDOM from "react-dom/client";
import App from "./App";
import "./index.css";
ReactDOM.createRoot(document.getElementById("root")!).render(
<React.StrictMode>
<App />
</React.StrictMode>,
);