const [count, setCount] = useState<number>(0);

<Button onClick={handleIncrease}>increase{count}</Button>

// + 2 count为之前的值
const handleIncrease = useCallback(() => {
setCount((prev) => prev + 1);
console.log(count); // 0
setCount((prev) => prev + 1);
console.log(count); // 0
}, [count]);

// + 2 count一直被缓存为0
const handleIncrease = useCallback(() => {
setCount((prev) => prev + 1);
console.log(count);
setCount((prev) => prev + 1);
console.log(count);
}, []);

// + 1
const handleIncrease = useCallback(() => {
setCount(() => count + 1);
console.log(count);
setCount(() => count + 1);
console.log(count);
}, [count]);

// + 1
const handleIncrease = useCallback(() => {
setCount(count + 1);
console.log(count);
setCount(count + 1);
console.log(count);
}, [count]);

真tnd有意思