teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

テキスト修正

2020/01/12 05:41

投稿

jun68ykt
jun68ykt

スコア9058

answer CHANGED
@@ -8,4 +8,25 @@
8
8
  ### 修正後
9
9
  ```jsx
10
10
  <button onClick={send} disabled={forms.some(ok => !ok)}>
11
- ```
11
+ ```
12
+
13
+
14
+ ## 追記
15
+
16
+ 配列`forms`の先頭要素を `false` に変更するように`setForms`している行が、
17
+ ### 修正前
18
+ ```javascript
19
+ setForms((forms[0] = false));
20
+ ```
21
+ となっていますが、これだと、setForms が実行された後の、次の forms の値が `false` になってしまい、配列にならなくなってしまい、そのために
22
+
23
+ > "TypeError forms.some is not a function"というエラーメッセージが表示されました。
24
+
25
+ ということになります。setForms に与える引数は、3個のboolean値を要素とする配列を渡す必要があります。ですので、上記を以下のように修正します。
26
+
27
+ ### 修正後
28
+ ```jsx
29
+ setForms([ false, forms[1], forms[2] ]);
30
+ ```
31
+
32
+ 上記を含めて、`setForms((forms[`__i__`] = `__true or false__`));` という書き方をしている行は、全部で6箇所ありますが、上記の他の5箇所についても(__全く同じ、ではなく__)**同様の**修正をする必要があります。