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 */