reactjs - 反应 useState 数组更新
问题描述
我已经尝试了一些事情,但我根本无法更新这个数组的状态。我确定我很接近,但有人可以看看并告诉我我做错了什么。谢谢
const [totals, setTotals] = useState({
1: 0,
2: 0,
3: 0,
4: 0,
5: 0,
6: 0,
7: 0,
8: 0,
9: 0,
10: 0,
11: 0,
12: 0
});
const handleCalculations = (key, value) => {
setTotals({
...totals,
[key]: totals[key] + value
});
}
解决方案
我怀疑你打错电话了handleCalculations
。你很可能像这样使用它
<button onClick={handleCalculations}>click me</button>
结果,作为对象的事件来到了handleCalculations
.
结果,你的状态变成了这样:
{
1: 0,
2: 0,
3: 0,
4: 0,
5: 0,
6: 0,
7: 0,
8: 0,
9: 0,
10: 0,
11: 0,
12: 0,
12: 0,
"[object Object]": null,
}
尝试将正确的参数传递给处理程序,如下所示
<button onClick={()=>handleCalculations(12,1)}>click me</button>
这应该可以解决问题。
根据您的逻辑将参数替换到函数中。
推荐阅读
- php - 调用时未出现在文本字段中的旧值
- docker - 在 traefik 配置中使用通配符作为前端规则
- javascript - Cypress 请求默认等待?
- oracle - 我们可以使用 JMeter 来测试 Oracle ERP 套件吗?
- react-admin - React 管理界面仅显示翻译键
- python-3.x - 如何在 Python 中为 Pandas 单独的数据框读取多个文件
- c# - 在 Kentico Cloud 的内容项中自动填充链接项
- python - 运行 django 测试会导致重复的列名 id
- postgresql - 使用 org.testcontainers 时如何在 docker 容器中包含 postgresql.conf
- java - 为什么 java pacakges 没有在 intelliJ ideda 中加载