0
19
mthuan2306 Admin
25 tháng 6, 2025
Xử lý biểu mẫu (form) là một phần không thể thiếu trong các ứng dụng web. Với Next.js – đặc biệt là từ phiên bản 13 trở đi – ta có nhiều cách tiếp cận khác nhau để xử lý form. Mỗi cách đều có ưu, nhược điểm riêng và phù hợp với từng tình huống cụ thể. Bài viết này sẽ phân tích ba cách phổ biến để xử lý form trong Next.js: sử dụng useState, Server Actions, và thư viện react-hook-form.
Đây là cách tiếp cận quen thuộc trong React, dùng useState để lưu trạng thái của các trường dữ liệu và xử lý submit bằng sự kiện onSubmit.
Ưu điểm:
Nhược điểm:
Khi nào nên dùng:
Từ Next.js 14, bạn có thể xử lý form mà không cần gọi API thủ công. Chỉ cần khai báo một hàm xử lý ở phía server và truyền trực tiếp vào prop action của <form>.
File app/form/actions.tsFile app/form/page.tsx
Ưu điểm
Nhược điểm
Khi nào nên dùng
Thư viện react-hook-form giúp giảm thiểu re-render, tăng hiệu suất và cung cấp nhiều công cụ để kiểm tra dữ liệu đầu vào.
Cài đặt:
npm install react-hook-form
Ví dụ:Ưu điểm
Nhược điểm
Khi nào nên dùng
So sánh tổng quan
Cách tiếp cận | Ưu điểm | Nhược điểm | Phù hợp khi… |
---|---|---|---|
useState + onSubmit | Dễ học, không cần thư viện | Re-render nhiều, không tối ưu | Form đơn giản, ít trường |
react-hook-form | Hiệu suất cao, kiểm tra dữ liệu mạnh | Cần cài thư viện | Form có nhiều trường, cần tối ưu hiệu suất |
Server Actions | Không cần API riêng, bảo mật tốt | Chỉ dùng với Next.js 14+, thiếu linh hoạt | Làm việc trực tiếp với server/database |
Giảng viên Nguyễn Quang Hùng
Bộ môn Công nghệ thông tin
FPT Polytechnic TP HCM