0

我目前正在使用 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)

谢谢!

4

0 回答 0