2017-10-25 3 views

答えて

0

あなたquestion配列1何回も反復されているので、あなたがエラーを取得しています。配列に5つの項目がある場合は、インデックス0,1,2,3,4が必要です。ループには、があるため、インデックス5も読み取ろうとします。代わりにi < this.state.question.lengthに変更してみてください。

また、不要なステートを2回設定しているため、必要以上に再レンダリングが発生する可能性があります。代わりに、一時変数を使用してください:

handlePlay = (e) => { 
    setInterval(function(){ 
    const time = Math.round(e.target.getCurrentTime()); 
    let obj = {currentTime: time}; //temporary variable to build your next state 
    for(let i = 0;i<=this.state.question.length;i++){ 
     if(time==this.state.question[i].time){ 
     obj.currentQuestion = i; //add stuff to it 
     } 
    } 
    this.setState(obj); //set your final state here 
    }.bind(this),1000) 
} 
+0

オハイオ州、私は愚かな間違いを持っ​​て、ありがとうございました。あなたは私の一日を救った。 :D –

関連する問題