質問編集履歴

2

追記①

2022/07/22 09:43

投稿

hashikunmaru
hashikunmaru

スコア6

test CHANGED
File without changes
test CHANGED
@@ -104,9 +104,23 @@
104
104
 
105
105
  ```
106
106
 
107
+ ### 追記①
107
- 問題に対したことを記載てください
108
+ 以下のコードで実行したとろ、setQuizeez()が2回実行され、配列6つの要素が格納されてします
109
+ setQuizeezは1度しか動かない認識ですが、なぜこのようなことが起こるのでしょうか?(開発環境のみuseeffectが2回動くようになっているみたいなのを見かけましたが、それが原因でしょうか?)
108
110
 
111
+ また、2回動くのはまだ分かるのですが、以下のコードにし、consoleを確認すると、ランダムで選出されたクイズ6つと、配列に格納されているクイズ6つが一致していないのですが、これはなぜでしょうか?
112
+ ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-07-22/b60be082-8d97-46db-8786-67e002c763be.jpeg)
113
+ ```ts
109
- ### 補足情報(FW/ツールのバージョンなど)
114
+ const setQuizeez = () => {
115
+ const max = quizzes.length;
116
+ for (let i = 0; i < questinoNum; i++) {
117
+ var _q = quizzes[randomNumber(max)];
118
+ console.log(_q);
119
+ setQuizList((quizList) => [...quizList, _q]);
120
+ // setQuizList((quizList) => [...quizList, quizzes[randomNumber(max)]]);
121
+ }
122
+ };
110
123
 
111
- ここにより詳細な情報を記載してください。
124
+ ```
112
125
 
126
+

1

修正

2022/07/22 07:27

投稿

hashikunmaru
hashikunmaru

スコア6

test CHANGED
File without changes
test CHANGED
@@ -10,11 +10,6 @@
10
10
  ### 発生している問題・エラーメッセージ
11
11
  setQuizeez()によって、quizListにクイズが追加されたのち、setQuestion()が実行できるとよいのですが、setQuizList()が非同期で走ってしまうため、上手くQuizListの値が参照できません。
12
12
  このような場合、どのような対処方法が良いのでしょうか。
13
-
14
-
15
- ```
16
- エラーメッセージ
17
- ```
18
13
 
19
14
  ### 該当のソースコード
20
15
  ``` ts