In React 18+, two `setState` calls inside a native `addEventListener` handler (attached manually via a ref, not React's synthetic event system) behave how, and why?
useEffect(() => {
const el = ref.current;
const onClick = () => {
setA(a => a + 1);
setB(b => b + 1);
};
el.addEventListener('click', onClick);
return () => el.removeEventListener('click', onClick);
}, []);