大佬们问一下
问题一: 为什么这个run会打印两次
const App: React.FC = () => {
console.log("run");
const [count, setCount] = useState(0);
return (
<div>
<p>{count}</p>
<button onClick={() => setCount(count)}>click</button>
</div>
);
};
export default App;
问题二:
为什么第一点击结果是[1,1] 第二次[1,1,1,1],
第三次[1,1,1,1,1,1] 除了第一次点击加1,后面每次加2个1
const App: React.FC = () => {
console.log("run");
const [count, setCount] = useState([1]);
const push = () => {
setCount((count) => {
count.push(1)
return [...count]
})
}
return (
<div>
<p>{JSON.stringify(count)}</p>
<button onClick={push}>click</button>
</div>
);
};
export default App;
这个两个问题应该是有联系吧感觉
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…