Answers for "event listener does not get latest state values react native"

0

event listener does not get latest state values react native

// useRef to read future value
// Currently, your issue is that you're reading a value from the past. 
// When you define handleResize it belongs to that render, therefore, 
// when you rerender, nothing happens to the event listener so it still reads the old value from its render.

// To fix this, you should use a ref via useRef that you keep updated so that you can read the current value.

  const [activePoint, _setActivePoint] = React.useState(null);
  // define a ref
  const activePointRef = React.useRef(activePoint);
  // in place of original `setActivePoint`
  const setActivePoint = x => {
    activePointRef.current = x; // keep updated
    _setActivePoint(x);
  };
  const handleResize = () => {
    // now when reading `activePointRef.current` you'll
    // have access to the current state
    console.log(activePointRef.current);
  };
  const resizerMouseDown = /* still the same */;
  return /* return is still the same */
Posted by: Guest on August-28-2021

Code answers related to "event listener does not get latest state values react native"

Code answers related to "Javascript"

Browse Popular Code Answers by Language