Javascript 每次状态更新时调用shuffle函数?

Javascript 每次状态更新时调用shuffle函数?,javascript,reactjs,shuffle,Javascript,Reactjs,Shuffle,问题很简单,我有一个洗牌函数,它洗牌一组数字, 数字呈现为卡片组中的卡片,应用程序很简单,当单击两张相同数字的卡片时,它们需要相同的颜色 所以我创建了一个状态,它是一个数组,只接收两张要比较的卡,一旦比较完成,数组长度返回到0,然后再次推送两张卡,以此类推 现在的问题是,每次状态更新时,洗牌功能都会一次又一次地工作,这使得每次使用不同的数字洗牌时,牌都会重新渲染 代码: 您可以使用useEffect: const [cards, setCards] = useState([]); useEffe

问题很简单,我有一个洗牌函数,它洗牌一组数字, 数字呈现为卡片组中的卡片,应用程序很简单,当单击两张相同数字的卡片时,它们需要相同的颜色

所以我创建了一个状态,它是一个数组,只接收两张要比较的卡,一旦比较完成,数组长度返回到0,然后再次推送两张卡,以此类推

现在的问题是,每次状态更新时,洗牌功能都会一次又一次地工作,这使得每次使用不同的数字洗牌时,牌都会重新渲染

代码:

您可以使用useEffect:

const [cards, setCards] = useState([]);
useEffect(()=>{shuffle()},[cards])
const [cards, setCards] = useState([]);
useEffect(()=>{shuffle()},[cards])