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

回答編集履歴

2

テキスト修正

2019/01/07 23:30

投稿

jun68ykt
jun68ykt

スコア9058

answer CHANGED
@@ -36,7 +36,7 @@
36
36
  </form>
37
37
  </div>
38
38
  ```
39
- から、`<form />` を取り去り、かつ、ボタンをクリックされたときに`handleSubmit`が呼ばれるようにすればよいので、以下
39
+ から、`<form />` を取り去り、かつ、ボタンをクリックたときに`handleSubmit`が呼ばれるようにすればよいので、以下
40
40
 
41
41
  ```html
42
42
  <div>

1

テキスト修正

2019/01/07 23:30

投稿

jun68ykt
jun68ykt

スコア9058

answer CHANGED
@@ -2,7 +2,11 @@
2
2
 
3
3
  axios によって送りたいAPIへのリクエストの他に、`<form />` がsubmitされたことによるリクエストが発生しているために意図しない挙動になっているものと思います。
4
4
 
5
+ 以下にて、修正する方法を2つ挙げます。
6
+
7
+ ### (1) `<form />` がsubmitされたときのデフォルト動作を抑止
8
+
5
- これを修正するには `New.jsx` で、handleSubmit の冒頭、
9
+ `New.jsx` で、handleSubmit の冒頭、
6
10
  ```javascript
7
11
  handleSubmit = () => {
8
12
  axios({
@@ -15,7 +19,10 @@
15
19
  axios({
16
20
  method : "POST",
17
21
  ```
18
- のようにして、`<form />`がsubmitされたときのデフォルト動作を抑止するか、もくは、
22
+ のようにして、`<form />`がsubmitされたときのデフォルト動作を抑止します。
23
+
24
+ ### (2) `<form />` を使わないようにする。
25
+
19
26
  axios でリクエストを送るので `<form />` 自体が不要ですから、renderで返している以下の部分
20
27
 
21
28
  ```html
@@ -41,8 +48,12 @@
41
48
  </div>
42
49
  ```
43
50
 
44
- のように修正すれば、意図通りボタンをクリックたときに、axiosからPOSTでリクエストが送られると思います。
51
+ のように修正します。
52
+  
53
+  
45
54
 
55
+ 上記の(1)または(2)の修正によって、意図通りボタンをクリックしたときに、axiosからPOSTでリクエストが送られると思います。
56
+
46
57
  それと、蛇足ながらもう一点、ご質問の本題とは関係ありませんが、以下の部分
47
58
 
48
59
  ```javascript