【发布时间】:2020-11-19 20:59:00
【问题描述】:
我是 React 新手。我用 useState 钩子做了一个计数器;应用显示 + 和 - 按钮和一个文本,最初为 0。
import React, { useState } from 'react';
function App() {
const [state, setState] = useState({
count: 0,
bool: false,
incValue: 1
})
if (state.count >= 10 || state.count <= -10) {
setState({incValue: 10})
}
const incrementCount = () => {
setState(prevState => {
return {
count: prevState.count + state.incValue
}
})
}
const decrementCount = () => {
setState(prevState => {
return {
count: prevState.count - state.incValue
}
})
}
return (
<>
<button onClick={decrementCount}>-</button>
<span>{state.count}</span>
<button onClick={incrementCount}>+</button>
</>
);
}
export default App;
但是有一个错误,我找不到原因。当我不初始化 incValue: 1 状态并以 1 而不是 state.incValue 递增时,它可以工作。为什么上面的代码不起作用?
【问题讨论】:
-
第二次点击时触发错误?
-
@HamzaKhattabi,是的
标签: reactjs react-hooks use-state