我在网页上有一个简单的两个按钮,一个用于递增,一个用于递减整数。
一旦我点击+按钮,它将在当前值上加 1。
下面是我的减速器,我已经用 a 包裹了“INCREMENT”setTimeout
,当我点击+按钮时,我希望在 2 秒后在页面上看到1,但是一旦点击发生,它就会给我77,而无需等待 2 秒,为什么会发生这种情况,为什么每次都是 77?
ps 我可能需要一个中间件来处理这个异步操作,但我试图了解发生了什么
谢谢
const mathReducer = (state = 0, action) => {
switch (action.type) {
case 'INCREMENT':
return setTimeout(() => {
state = state + 1
}, 2000)
case 'DECREMENT':
return state - 1
default:
return state
}
}
export default mathReducer