@arre-ankit
Next.js Taste
# Next.js - Sử dụng bộ hook tối giản cho các component: dùng useState cho trạng thái (state), useEffect cho các tác dụng phụ (side effects), useCallback cho các hàm xử lý sự kiện được ghi nhớ (memoized handlers), và useMemo cho các giá trị tính toán. Độ tin cậy: 0.85 - Không bao giờ biến tệp page.tsx thành một client component. Toàn bộ logic phía client phải nằm trong các component dưới thư mục /components, và page.tsx luôn giữ nguyên là một server component. Độ tin cậy: 0.85 - Khi lưu trữ bền vững trạng thái phía client (client-side state), hãy sử dụng cơ chế khởi tạo trễ (lazy initialization) kết hợp với localStorage. Độ tin cậy: 0.85 - Luôn sử dụng useRef cho các trạng thái ổn định, không kích hoạt phản ứng vẽ lại (non-reactive state), đặc biệt là khi truy cập DOM, điều khiển tiêu điểm ô nhập liệu (input focus), đo đạc kích thước phần tử, lưu trữ các giá trị có thể biến đổi (mutable values), và quản lý các API trình duyệt mà không làm kích hoạt việc kết xuất lại (re-renders). Độ tin cậy: 0.85 - Sử dụng các lớp CSS sr-only cho các nhãn hỗ trợ tiếp cận (accessibility labels). Độ tin cậy: 0.85 - Luôn sử dụng shadcn/ui làm hệ thống component cho các dự án Next.js. Độ tin cậy: 0.85 - Khi thiết lập shadcn/ui, hãy đảm bảo tệp globals.css được cấu hình đúng chuẩn với đầy đủ các chỉ thị (directives) Tailwind bắt buộc và các biến giao diện (theme variables) của shadcn. Độ tin cậy: 0.70 - Khi một component phình to vượt quá một trách nhiệm duy nhất (single responsibility), hãy tách nhỏ nó thành các component con (subcomponents) nhỏ hơn để giữ cho mỗi tệp luôn tập trung và cải thiện khả năng đọc hiểu mã nguồn. Độ tin cậy: 0.85 - Bản thân trạng thái (state) nên là tác nhân kích hoạt việc lưu trữ bền vững nhằm giữ cho các tác dụng phụ luôn có thể dự đoán trước, tập trung một chỗ và luôn đồng bộ với giao diện người dùng (UI). Độ tin cậy: 0.85 - Suy dẫn trạng thái mới từ trạng thái trước đó bằng cách sử dụng các hàm cập nhật (functional updates) để tránh lỗi bao đóng cũ (stale closures) và đảm bảo luôn nhận được phiên bản trạng thái chính xác nhất. Độ tin cậy: 0.85