我目前正在使用 React 构建一个测验类型的游戏。
但是,有时我会随机出现错误。
它显示给我的错误是:
const state=useContext(QuestionsStateContext)
11 | let question=state.question[0]
> 12 | let photoSrc=question.questionPhoto.value;
return (
14 | <>
15 | <div className='cardquestion'>
我认为问题不在这里。我认为这可能是状态的问题,它在完成后没有重置问题。我想知道如何在完成后重置问题组的状态,以便它可以重新开始测试。我还不确定这是否是问题所在,所以任何帮助表示赞赏,谢谢。
此外,这是处理逻辑的问答游戏的一部分。我仍然不确定问题出在哪里,并且一直在努力解决一段时间。
import { nanoid } from "nanoid";
export const shuffler = (a) => {
for (let i = a.length - 1; i > 0; i--) {
const j = Math.floor(Math.random() * (i + 1));
[a[i], a[j]] = [a[j], a[i]];
}
return a;
};
// takes 10 random cards from shuffled deck of each type
const deckMaker=(arr)=>{
const newDeck=shuffler(arr)
const tenCards=newDeck.slice(0,10)
return tenCards
}
// shuffle each type first... then combine
// and then shuffle twice.
const deckOne=deckMaker(oneType)
const deckTwo=deckMaker(twoType)
const deckThree=deckMaker(threeType)
const deck=deckOne.concat(deckTwo)
const finalDeck=deck.concat(deckThree)
const shuffledFinal=shuffler(finalDeck);
export const deckShuffled=shuffler(shuffledFinal)
谢谢!