javascript - React onclick 函数日志在之前更新集合后设置相同状态时执行
问题描述
import React from "react"
import { useState } from "react"
export default function App() {
const [count, setCount] = useState({ c: 0 })
console.log(new Date().toString())
console.log(`Object output ${count.c}`)
return (
<div>
<p>{new Date().toString()}</p>
{console.log(new Date().toString())};
<br />
<p>You clicked Object counter {count.c} times</p>
<button onClick={() => setCount({ ...count, c: count.c + 1 })}>
Click me
</button>
<p>You clicked Object counter {count.c} times</p>
<button onClick={() => setCount(count)}>Click me</button>
</div>
)
}
在上面的 React 代码中,通过单击第一个按钮更新计数后执行日志并重新渲染,但在第一次单击第二个按钮之后立即执行控制台登录功能,但不将组件重新渲染为日期此事件的值保持不变,进一步单击第二个按钮不执行此日志谁能解释为什么?
编辑:解释为什么在第二个按钮没有状态变化时执行控制台日志?(注意:仅当在此之前单击第一个按钮时才会发生这种情况,这会改变状态,并且仅在第一次单击时记录第二个按钮的控制台日志) Console-logs-screenshot
解决方案
推荐阅读
- python - 在一列中更改日期格式(替换、插入列、追加),有什么方法可以更新吗?..它必须很简单
- rust - 如何从某些特征显式调用函数?
- pandas - 熊猫访问具有重复列名的第一列
- jsf - 准时浏览页面
- mysql - 如何查询一个字段比另一个字段大 x 天的记录?
- php - 是否可以缓存具有带有“Cache-Control: public, max-age=n”标头的“GET”变量的 php 页面?
- c# - 有什么办法可以写出特殊的联想吗?
- angular - 我在使用本地存储获取的数据进行 Http 调用时遇到问题
- python - python中的非负函数
- python - 如何删除或更新具有 TypeError 的对象?