如何更新条件逻辑中的状态?

问题描述 投票:2回答:1

只有满足条件,我才需要使用setExpression钩子更新我的状态。我只是红色,这不应该工作,因为你不能从条件逻辑内部调用钩子,但我还没有找到任何解决方法。我怎样才能做到这一点?

let handleOperator = e => {
  let last = expression[expression.length - 1]
  if (last === "+" || last === "-" || last === "*" || last === "/") {
    setExpression(expression.slice(0, -1))
  }
  pushToString(e)
}
reactjs react-hooks
1个回答
2
投票

您的代码完全有效。你可以调用从setExpression(例如useState)返回的const [expression, setExpression] = useState('');函数,但你不能在条件逻辑中使用钩子本身(在本例中为useState)。

© www.soinside.com 2019 - 2024. All rights reserved.