react-use
react-use copied to clipboard
Add useLatestRef() and useLayoutLatestRef()
Description
This PR adds two hooks useLatestRef() and useLayoutLatestRef() as described in https://github.com/streamich/react-use/issues/2328#issuecomment-1633958158. They are similar to useLatest(), but avoid updating the ref directly during render, which is deemed unsafe by the React team..
This PR also marks useLatest() as @deprecated and recommend useLatestRef() as an alternative.
Type of change
- [ ] Bug fix (non-breaking change which fixes an issue)
- [x] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as before)
Checklist
- [x] Read the Contributing Guide
- [x] Perform a code self-review
- [x] Comment the code, particularly in hard-to-understand areas
- [x] Add documentation
- [x] Add hook's story at Storybook
- [x] Cover changes with tests
- [x] Ensure the test suite passes (
yarn test) - [x] Provide 100% tests coverage
- [x] Make sure code lints (
yarn lint). Fix it withyarn lint:fixin case of failure. - [x] Make sure types are fine (
yarn lint:types).
Nice PR!
Really hope this is merged. useLatest is not safe.
Is there any progress?