0
0
Lập trình
NM

Hướng Dẫn Tạo Logic Tái Sử Dụng Với Custom Hooks Trong React

Đăng vào 3 tháng trước

• 3 phút đọc

Chủ đề:

React

Tạo Logic Tái Sử Dụng Với Custom Hooks Trong React

Các Hook tích hợp sẵn của React như useStateuseEffect cho phép quản lý trạng thái và tính năng lifecycle một cách trực tiếp trong các functional component. Tuy nhiên, khi bạn cần tái sử dụng logic trên nhiều component khác nhau, việc sử dụng custom Hooks là một giải pháp hiệu quả giúp cho mã nguồn của bạn trở nên gọn gàng và dễ mở rộng hơn.

Bạn có thể tham khảo thêm: Tạo Chatbot React Đơn Giản

Khái Niệm Và Lợi Ích Của React Hooks

React Hooks Là Gì?

React Hooks là các hàm cho phép bạn sử dụng state và các tính năng lifecycle trong các functional component. Trong khi các Hook tích hợp sẵn như useStateuseEffect rất hữu ích, khi cần tái sử dụng logic qua nhiều component khác nhau, custom Hooks sẽ là lựa chọn hoàn hảo.

Lợi Ích Của Hooks

  • Tái Sử Dụng Logic: Custom Hooks đóng gói các logic có thể tái sử dụng, giúp bạn dễ dàng quản lý state và tính năng lifecycle trên nhiều component khác nhau.
  • Quản Lý Dễ Dàng Hơn: Giảm thiểu sự dư thừa mã và làm cho dự án của bạn dễ bảo trì và mở rộng hơn.

Cách Xác Định Một Hàm Là Hook

Một hàm được coi là Hook trong React khi nó:

  • Đóng gói logic stateful có thể tái sử dụng.
  • Tuân theo quy ước đặt tên bằng cách thêm tiền tố "use". Tiền tố này giúp React áp dụng các quy tắc nội bộ để quản lý hành vi của hàm đó.

Ví Dụ Ứng Dụng Custom Hooks Trong Quản Lý Form

Chúng ta sẽ cùng tìm hiểu một ví dụ ứng dụng sử dụng các custom Hooks để quản lý một biểu mẫu thu thập thông tin người dùng, bao gồm hai phần: Thông tin cá nhânThông tin thanh toán. Bằng cách sử dụng các custom Hooks, việc xử lý và xác thực form sẽ trở nên đơn giản hơn.

1. PersonalDetailsForm.jsx – Sử Dụng useForm Và Lược Đồ Xác Thực

Dưới đây là một thành phần React cho biểu mẫu Thông tin cá nhân:

  • Cấu Hình Ban Đầu: Khởi tạo initialData với các trường cần thiết và xác định validationSchema để chỉ định các quy tắc xác thực.
    • Sử dụng custom Hook useForm để quản lý trạng thái và xử lý xác thực.
javascript Copy
const PersonalDetailsForm = ({ title }) => {
  const initialData = { ... };
  const validationSchema = { ... };

  const { formData, handleInputChange, handleSubmit, validationProps } = useForm(initialData, () => console.log(formData), validationSchema);

  return (
    <form onSubmit={handleSubmit}>
      <Input ... />
      <Dropdown ... />
      <Button type="submit" text="Submit" />
    </form>
  );
};

2. useForm.js Custom Hook – Xử Lý Trạng Thái Biểu Mẫu Và Gửi

Custom Hook useForm sẽ quản lý trạng thái biểu mẫu và xử lý việc gửi biểu mẫu. Logic trong handleInputChange giúp phân tích cú pháp các kiểu dữ liệu khác nhau và xác thực các trường một cách hiệu quả.

3. useValidation.js Custom Hook - Logic Xác Thực Tập Trung

Custom Hook useValidation tập trung vào việc xác thực dữ liệu nhập từ người dùng, với các hàm để kiểm tra từng trường cũng như xác thực tất cả các trường trước khi gửi.

4. PaymentDetailsForm.jsx – Tính Tái Sử Dụng

Bạn có thể dễ dàng tái sử dụng custom Hooks như useFormuseValidation trong các thành phần form khác như PaymentDetailsForm mà không cần sao chép các logic quản lý state hay xác thực.

Quy Tắc Sử Dụng Hooks

Để đảm bảo tính ổn định, React đặt ra một số quy tắc cho việc sử dụng Hooks, bao gồm:

  • Luôn gọi Hooks ở cấp cao nhất của ứng dụng.
  • Không sử dụng Hooks trong vòng lặp, điều kiện hoặc hàm rẽ nhánh.
  • Chỉ sử dụng Hooks trong các functional component hoặc trong custom Hooks.

Kết Luận

Sự tái sử dụng và khả năng bảo trì trong lập trình là rất quan trọng để xây dựng các ứng dụng có thể mở rộng. Custom Hooks trong React cho phép bạn dễ dàng quản lý state và logic, từ đó dẫn đến mã nguồn sạch hơn, dễ hiểu hơn và dễ bảo trì hơn.
source: viblo

Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào