refactor(usePrevious): remove undefined from compare argument and return type#272
refactor(usePrevious): remove undefined from compare argument and return type#272
Conversation
There was a problem hiding this comment.
Pull Request Overview
This PR refactors the usePrevious hook to remove undefined from both the compare function's argument types and the return type, making the type definitions more accurate to reflect the actual behavior where the hook always returns a value of type T.
- Updated type signatures to remove
undefinedfrom compare function parameter and return type - Updated documentation in both English and Korean to reflect the corrected types
- Modified the default comparison function to match the new type signature
Reviewed Changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| src/hooks/usePrevious/usePrevious.ts | Updated type signatures and JSDoc comments to remove undefined types |
| src/hooks/usePrevious/usePrevious.md | Updated documentation interface to reflect corrected types |
| src/hooks/usePrevious/ko/usePrevious.md | Updated Korean documentation interface to reflect corrected types |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #272 +/- ##
=========================================
Coverage 100.00% 100.00%
=========================================
Files 37 37
Lines 1093 1093
Branches 324 324
=========================================
Hits 1093 1093 🚀 New features to boost your workflow:
|
|
@wo-o29 Good catch — One note for future reference: on first render, Before merging, could you please add a changeset ( Once the changeset is added, we'll merge! ✅ |
Overview
This PR updates both the code and documentation for the
usePrevioushook to removeundefinedfrom thecomparefunction's argument types and from the return type.Since the state parameter passed to the hook is a required value and always provided, and the initial
stateis stored inprevRef, the prev argument never becomes undefined during the hook's lifecycle. Thus, the hook also never returnsundefined.This update ensures consistency between implementation, type definitions, and documentation, clarifying the intended usage.
Checklist
yarn run fixto format and lint the code and docs?yarn run test:coverageto make sure there is no uncovered line?