Documentation Index
Fetch the complete documentation index at: https://styleguide-nextjs.2smooth.io/llms.txt
Use this file to discover all available pages before exploring further.
การ Import
- ใช้การย่อ path เสมอ เพื่อลดความยากในการอ่าน
- ถ้าใช้การ auto import กรุณาตรวจสอบความถูกต้องทุกครั้ง
import { Role } from '@/variables';
/// หรือ ถ้ามี type ด้วย
import { type RoleVariable, Role } from '@/variables';
ตัวแปรทั่วไป Common
- ใช้
const ถ้าไม่ต้องมีการเปลี่ยนแปลงค่า
- ใช้
let ถ้าต้องมีการเปลี่ยนแปลงค่า
- ห้ามใช้
var เหตุผล
- ระบุ type ตามความเหมาะสม
- ใช้ any เมื่อจำเป็นเท่านั้น ไม่ใช้เลยดีที่สุด
ทำ
const list: Array<string> = [];
const obj: Record<string, any> = {};
let counter = 0;
ไม่ทำ
var list1 = [];
const list2 = [];
var obj = {};
var counter1: number = 0;
let counter2: number = 0;
ตัวแปรที่เป็น React State
- ใช้
const เท่านั้น
- ระบุ type ตามความเหมาะสม
- ใช้ any เมื่อจำเป็นเท่านั้น ไม่ใช้เลยดีที่สุด
ทำ
const [ counter, setCounter ] = useState(0);
const [ listData, setListData ] = useState<Array<number>>([]);
ไม่ทำ
let [ counter, setCounter ] = useState<number>(0);
var [ counter, setCounter ] = useState<number>(0);
let [ counter, setCounter ] = useState(0);
var [ counter, setCounter ] = useState(0);
let [ listData, setListData ] = useState([]);
var [ listData, setListData ] = useState([]);
const [ listData, setListData ] = useState([]);
ตัวอย่าง Example
-
ประกาศ
const [ bookDate, setBookData ] = useState<BookInfo>({ ... });
-
กำหนด Type
interface BookInfo {
isbn: string;
author: string;
name: string;
date: Date;
}