react-use icon indicating copy to clipboard operation
react-use copied to clipboard

Add useLatestRef() and useLayoutLatestRef()

Open pastelmind opened this issue 2 years ago • 3 comments

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 with yarn lint:fix in case of failure.
  • [x] Make sure types are fine (yarn lint:types).

pastelmind avatar Jul 14 '23 07:07 pastelmind

Nice PR!

nmoinvaz avatar Aug 28 '23 23:08 nmoinvaz

Really hope this is merged. useLatest is not safe.

nathggns avatar Jan 11 '24 09:01 nathggns

Is there any progress?

hengkx avatar Apr 04 '24 01:04 hengkx