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

質問編集履歴

2

修正

2019/09/10 04:44

投稿

hello_whats_up
hello_whats_up

スコア57

title CHANGED
File without changes
body CHANGED
@@ -20,7 +20,6 @@
20
20
  for(var i=0; i < res.data.array.length; ++ i ){
21
21
  this.setState({
22
22
  name: res.data.array[i].name,
23
- image: res.data.array[i].image,
24
23
  storeId: res.data.array[i].id
25
24
  })
26
25
  }

1

情報修正

2019/09/10 04:44

投稿

hello_whats_up
hello_whats_up

スコア57

title CHANGED
File without changes
body CHANGED
@@ -3,4 +3,55 @@
3
3
  APIからとってきたJSONの文字や画像の複数の情報を使用して同じようなコンポーネントを複製したいです。
4
4
 
5
5
  例えば、その情報をstateに設定してsetStateするたびにrenderが呼び出されるようにしたら良いのかと思ったのですが、うまくいきませんでしたでした。
6
- 解決策やアイデアが有りましたら教えて下さい。よろしくお願いいたします。
6
+ 解決策やアイデアが有りましたら教えて下さい。よろしくお願いいたします。
7
+
8
+ 失敗したコードと、返ってくるJSONの例です。
9
+ このようにしたら順にsetStateできると思ったのですが、setStateされるたびにrenderを呼び出す方法がわかりませんでした。
10
+
11
+ ご指摘お願いします。
12
+
13
+ ```React
14
+ axios
15
+ .get( ENDPOINT, {
16
+ headers: { "Content-Type": "application/json" },
17
+ data: {},
18
+ })
19
+ .then( (res) => {
20
+ for(var i=0; i < res.data.array.length; ++ i ){
21
+ this.setState({
22
+ name: res.data.array[i].name,
23
+ image: res.data.array[i].image,
24
+ storeId: res.data.array[i].id
25
+ })
26
+ }
27
+ })
28
+ ```
29
+
30
+ ```JOSN
31
+ {
32
+ "array": [
33
+ {
34
+ "id": 1,
35
+ "name": "パン屋"
36
+ },
37
+ {
38
+ "id": 2,
39
+ "name": "弁当屋"
40
+ },
41
+ {
42
+ "id": 3,
43
+ "name": "カレー屋"
44
+ },
45
+ {
46
+ "id": 4,
47
+ "name": "肉屋"
48
+ },
49
+ {
50
+ "id": 5,
51
+ "name": "八百屋"
52
+ }
53
+ ],
54
+ "foodNum": 5,
55
+ "userId": 1
56
+ }
57
+ ```