Link to original video by Web Dev Simplified
Learn Custom Hooks In 10 Minutes

Tóm tắt ngắn:
- Video giới thiệu về cách tạo custom hook trong React, một kỹ thuật đơn giản hơn người xem tưởng.
- Trọng tâm là tạo hai custom hook:
useLocalStorage
(lưu trữ dữ liệu vào local storage) vàuseUpdateLogger
(log giá trị khi thay đổi). Cả hai đều sử dụng hookuseState
vàuseEffect
có sẵn trong React. - Ứng dụng của custom hook là giúp tái sử dụng logic, đơn giản hóa code và quản lý state hiệu quả hơn, đặc biệt là trong việc lưu trữ dữ liệu bền vững và theo dõi thay đổi giá trị.
- Video hướng dẫn chi tiết quá trình tạo custom hook, bao gồm cách đặt tên, cấu trúc hàm, sử dụng
useState
,useEffect
,JSON.parse
,JSON.stringify
, và xử lý function như input chouseState
.
Tóm tắt chi tiết:
Video được chia thành các phần chính sau:
Phần 1: Giới thiệu và bài toán
- Kyle giới thiệu về việc tạo custom hook trong React và khẳng định nó dễ hơn người xem nghĩ. Anh ấy quảng cáo khóa học React của mình.
- Bài toán được đặt ra là lưu trữ giá trị input (tên người dùng) vào local storage để dữ liệu không bị mất khi refresh trang.
Phần 2: Tạo custom hook useLocalStorage
- Tên custom hook bắt đầu bằng
use
(quy ước của React). - Tạo file
useLocalStorage.js
chứa hàmuseLocalStorage
. - Hàm này sử dụng
useState
để quản lý giá trị và hàmset value
. - Hàm
getSavedValue
được tạo để lấy dữ liệu từ local storage, sử dụnglocalStorage.getItem
,JSON.parse
, và xử lý trường hợp initial value là function. useEffect
được dùng để lưu giá trị vào local storage bằnglocalStorage.setItem
vàJSON.stringify
. Chỉ cập nhật local storage khi giá trị thay đổi.
Phần 3: Sử dụng useLocalStorage
- Custom hook
useLocalStorage
được sử dụng trong component chính giống nhưuseState
. Cần truyền key để xác định dữ liệu trong local storage. - Video minh họa việc dữ liệu được lưu trữ và giữ nguyên sau khi refresh trang.
Phần 4: Tạo custom hook useUpdateLogger
- Tạo file
useUpdateLogger.js
chứa hàmuseUpdateLogger
. - Hàm này sử dụng
useEffect
để log giá trị vào console mỗi khi giá trị thay đổi.
Phần 5: Sử dụng useUpdateLogger
- Custom hook
useUpdateLogger
được import và sử dụng để log giá trị của input. - Video minh họa việc log giá trị mỗi khi input thay đổi.
Phần 6: Kết luận
- Kyle nhấn mạnh sức mạnh của custom hook trong việc đóng gói logic và tái sử dụng code trong các component React. Anh ấy nhắc lại khóa học React của mình.
Câu nói đáng chú ý: "My job is to simplify the web for you so you can start building your dream project sooner." (Công việc của tôi là đơn giản hóa web để bạn có thể bắt đầu xây dựng dự án mơ ước của mình sớm hơn.) Đây là câu nói thể hiện mục tiêu của video và kênh YouTube.