【问题标题】:state won't update inside react function component状态不会在反应功能组件内更新
【发布时间】:2022-01-21 16:32:49
【问题描述】:

我正在用 React.js 构建一个二十一点游戏。我已将状态设置为一组类型卡。看起来像这样。

    let startingDealerHand: Cards[] = dealCards(2, []);
    let startingPlayerHand: Cards[] = dealCards(2, []);
    const [dealerHand, setDealerHand] = useState<Array<Cards>>(startingDealerHand);
    const [playerHand, setPlayerHand] = useState<Array<Cards>>(startingPlayerHand);

我正在尝试更新如下所示的 onclick 函数内部的状态。

takeHit={(hand: Cards[]) => setPlayerHand(dealCards(1, hand))}

我尝试调试应用程序,并且 onClick 正在做它应该做的事情,但是由于某种原因,用户界面和状态没有更新。

【问题讨论】:

  • 嗨@pdrake1988 - 以下答案是否解决了您的问题?如果是这样,请用复选标记标记它以结束问题。否则,请更新您的问题(或在答案下方发表评论)以帮助我们微调我们的帮助。或者,请发布您自己的答案以说明您是如何解决问题的,然后再次勾选该答案以结束问题。

标签: reactjs typescript react-functional-component react-state


【解决方案1】:

试试:

onClick={(hand: Cards[]) => setPlayerHand(dealCards(1, hand))}

或:

onClick={() => handleTakeHit(hand)}

及以上,就在你的 useState 常量被创建的地方,添加:

const handleTakeHit = (hand:Cards[]) => {
    setPlayerHand(dealCards(1, hand) )
}

【讨论】:

    猜你喜欢
    • 2020-02-12
    • 2023-02-13
    • 1970-01-01
    • 2021-01-24
    • 1970-01-01
    • 2022-06-27
    • 2016-01-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多