Вы можете использовать ref, чтобы отслеживать значение счетчика независимо
const [counter, setCounter] = useState(0);
const counterRef = useRef(counter)
Каждый раз, когда вы обновляете счетчик, вы также обновляете counterRef:
const newCounter = counter + 1
setCounter(newCounter);
counterRef.current = newCounter
И затем проверяйте его:
if (counterRef.current !== counter) {
alert("counter was changed");
} else {
setAsyncCounter(counter);
}
Codesandox