mirror of
https://github.com/idanoo/GoScrobble.git
synced 2024-11-24 17:35:16 +00:00
20 lines
550 B
JavaScript
20 lines
550 B
JavaScript
|
import { useEffect, useRef } from 'react';
|
||
|
/**
|
||
|
* Creates a `Ref` whose value is updated in an effect, ensuring the most recent
|
||
|
* value is the one rendered with. Generally only required for Concurrent mode usage
|
||
|
* where previous work in `render()` may be discarded befor being used.
|
||
|
*
|
||
|
* This is safe to access in an event handler.
|
||
|
*
|
||
|
* @param value The `Ref` value
|
||
|
*/
|
||
|
|
||
|
function useCommittedRef(value) {
|
||
|
var ref = useRef(value);
|
||
|
useEffect(function () {
|
||
|
ref.current = value;
|
||
|
}, [value]);
|
||
|
return ref;
|
||
|
}
|
||
|
|
||
|
export default useCommittedRef;
|