reactjs - react hooks setInterval,为什么第一次可以修改
问题描述
为什么第一次点击后在setinterval中就可以得到正确的count值,然后就不再发生变换了?
import React, { useEffect, useState } from 'react';
const Demo1 = () => {
let [count, setCount] = useState(1);
const onCountClick = () => {
count += 1;
setCount(count);
};
useEffect(() => {
setInterval(() => {
console.log(count);
}, 1000);
}, []);
console.log(count);
return <button onClick={() => onCountClick()}>test</button>;
};
解决方案
您正在直接修改状态。而是这样做:
setCount(count++)
推荐阅读
- mongodb - 使用 gitlab 管道检查 mongodb 的连接
- python - Pandas 数据框的重新排列
- python - 为什么 get_attribute 在 html td 标签之间返回空白文本?
- mpi - 在 MPI 中使用 MPI_BCAST 和 MPI_Reduce 对数字求和
- javascript - 如何在 React 中使用 useMemo 优化我的代码?
- python - mock.patch 在 pytest 夹具中不起作用?
- c# - C# 如何在 STUB 组件的 EmbeddedSchemaField 内的 ItemFields 中添加值
- wso2 - wso2 3.0.0 中的 SOAP API 发布问题
- python - 根据元组列表中的第二个值找到元组后返回元组的第一个元素
- java - 如何用另一个替换数组列表中的元素?