gpt4 book ai didi

javascript - 如何在功能性 react 组件中对数组进行一次洗牌?

转载 作者:行者123 更新时间:2023-12-05 02:55:23 24 4
gpt4 key购买 nike

我正在创建一个内存游戏,我有一个随机播放数字数组的洗牌函数,这些数字呈现为卡片,问题是每次状态改变时卡片都会被洗牌,我只需要初始化我的组件一个即使状态改变也能保持不变的混洗数组!

我尝试了 useEffect,但它不起作用,或者我无法正确实现它

代码:

const numbers = [1, 2, 3, 1, 2, 3];

const shuffle = (arr) => {
//shuffle logic here
}

let shuffledCards;
useEffect(() => {
shuffledCards = shuffle(numbers) // it doesn't help
}, [])

return(
<cards shuffledCards={shuffledCards} />
)

我怎样才能将我的数组洗牌一次而不是每次状态改变时都洗牌!

最佳答案

您可以使用 useMemo 钩子(Hook)。

const shuffle = (arr) => {
//shuffle logic here
}

const shuffledCards = React.useMemo(() => {
const numbers = [1, 2, 3, 1, 2, 3];
return shuffle(numbers);
}, [])

return (
<cards shuffledCards={shuffledCards} />
)

关于javascript - 如何在功能性 react 组件中对数组进行一次洗牌?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61263368/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com