useSyncState.js 328 B

1234567891011
  1. import * as React from 'react';
  2. import useForceUpdate from './useForceUpdate';
  3. export default function useSyncState(initialValue) {
  4. const ref = React.useRef(initialValue);
  5. const forceUpdate = useForceUpdate();
  6. return [() => ref.current, newValue => {
  7. ref.current = newValue;
  8. // re-render
  9. forceUpdate();
  10. }];
  11. }