React強化月間 4日目

今日の予定

17時~19時   スクール講義  JS
19時30分~   スクール交流会
実質17時までしか時間がない。


UseEffect

※勉強4日目の勉強メモです。
 完成してません。
 技術的な参考には適さないですのであしからず

問題文の呼び出しを作ったらGPTにuseEffectを提案されたので勉強した。

useEffectがない場合randomは初期値(0)のままなので問題文は当然変化なし。

useEffectの中にrandomを記述した場合、画面を表示したときにuseStateが走り、副作用としてuseEffectが1回起動する。

(正確にはReactはテスト環境だと2回レンダリングする)

その際にrandomが働き、問題文が変化する。

同じ問題が出ないようにする

randomした際に出た問題を削除するために、restQuestionsを新しくuseStateて定義する。

restQuestionsはquestionsからrandomな数字をspliceしたオブジェクト{ }

と、ここで動かなくなった。

なんやかんやコネコネして

こうなった。

時間ないので続きは明日。


現状の問題

問題が減っていくようには出来たけど、残り10個くらいから減っていかない。

まぁどっかに問題があるんでしょう!


コードのメモ

flagについて
useEffectの最後の[]で読み込むflagを設定してて、ボタンを押したときにもuseEffectが読み込まれるようにしている。
これによってボタンを押すと問題が変わる。

   const newRestQuestions = [...restQuestions]; これはスプレッド構文で配列にしてる。spliceするために。


この記事が気に入ったらサポートをしてみませんか?