| name | sourcebase-knowledge-hook-discovery |
| description | null |
Hook Discovery
Category: sourcebase-knowledge · Status: 🟢 Active
When to use
Trước khi viết custom hook mới, để tìm hook sẵn có (data, form, UI) reuse được.
Steps
- Tìm thư mục
hooks/ và file use*.ts rải trong feature.
- Phân loại hook theo nhóm: data-fetching, form, UI/DOM, util state.
- Đọc signature: input params, return shape, dependency để biết cách dùng.
- Grep usage để xem hook được gọi ở đâu, có cover case của bạn không.
- Reuse hoặc generalize hook cũ; chỉ tạo mới nếu logic thực sự khác biệt.
Template
fd 'use[A-Z].*\.(ts|tsx)$' src
rg "export (function|const) use\w+" src/hooks
rg "useDebounce|useToggle|useDisclosure" src
Example
Good: Phát hiện useDebouncedValue có sẵn, reuse cho ô search thay vì tự viết.
Avoid: Viết lại useLocalStorage mới trong khi đã có hook cùng chức năng.
Checklist