回答編集履歴

8

テキスト修正

2019/07/24 13:23

投稿

jun68ykt
jun68ykt

スコア9058

test CHANGED
@@ -14,9 +14,7 @@
14
14
 
15
15
 
16
16
 
17
- 従って、`ArticleDetail` の初回の `render` が実行される時点では、`this.state.article` は初期値として設定された空オブジェクトのままですので、 `this.state.article.id` は undefined になます。従って
17
+ 従って、`ArticleDetail` の初回の `render` が実行される時点では、`this.state.article` は初期値として設定された空オブジェクトのままですので、 `this.state.article.id` は undefined であり、
18
-
19
-
20
18
 
21
19
 
22
20
 

7

テキスト修正

2019/07/24 13:23

投稿

jun68ykt
jun68ykt

スコア9058

test CHANGED
@@ -10,7 +10,7 @@
10
10
 
11
11
 
12
12
 
13
- の左上の点線で囲んだInitializeと書かれた部分を見ても分かるとおり、`componentDidMount` **は初回の** `render` **の後に呼ばれます。**
13
+ の左上の点線で囲んだ Initialization と書かれた部分を見ても分かるとおり、`componentDidMount` **は初回の** `render` **の後に呼ばれます。**
14
14
 
15
15
 
16
16
 

6

テキスト修正

2019/07/24 13:10

投稿

jun68ykt
jun68ykt

スコア9058

test CHANGED
@@ -92,7 +92,7 @@
92
92
 
93
93
 
94
94
 
95
- 上記のようにすると、Articleを取得するAPI(`GET /api/v1/${articleID}`)が成功で返ってくるまでの間はローディングアイコンが表示され、成功で返ってくると、再度`render`が実行され、そのときは、`this.state.article.id` にはAPIで返された Article のIDが入っているので、ローディングアイコンではなく、 `<div>` 以下のコンポーネントが返されます。このようにすれば、 CommentComponent がrender されるときには、必ず `this.props.articleID` に適正なIDの値が渡されてくることになります。
95
+ 上記のようにすると、Articleを取得するAPI(`GET /api/v1/${articleID}`)が成功で返ってくるまでの間はローディングアイコンが表示され、成功で返ってくると、再度`render`が実行され、そのときは、`this.state.article.id` にはAPIで返された Article のIDが入っているので、ローディングアイコンではなく、 `<div>` 以下のコンポーネントが返されます。このようにすれば、 CommentComponent がrender されるときには、必ず `this.props.articleID` に(undefinedではない)適正なIDの値が渡されてくることになります。
96
96
 
97
97
 
98
98
 

5

テキスト修正

2019/07/24 12:49

投稿

jun68ykt
jun68ykt

スコア9058

test CHANGED
File without changes

4

テキスト修正

2019/07/24 12:44

投稿

jun68ykt
jun68ykt

スコア9058

test CHANGED
@@ -36,7 +36,7 @@
36
36
 
37
37
 
38
38
 
39
- 例えばローディングアイコンのコンポーネントを `Loading` として作ったとして、
39
+ 例えばローディングアイコンのコンポーネントを `Loading` として作ったとして、以下のようにします。
40
40
 
41
41
 
42
42
 

3

テキスト修正

2019/07/24 12:44

投稿

jun68ykt
jun68ykt

スコア9058

test CHANGED
@@ -28,7 +28,7 @@
28
28
 
29
29
 
30
30
 
31
- で渡した先の `CommentComponent` では `this.props.articleID` が undefined になります。
31
+ で渡した先の `CommentComponent` においても、 `this.props.articleID` が undefined になります。
32
32
 
33
33
 
34
34
 
@@ -92,7 +92,7 @@
92
92
 
93
93
 
94
94
 
95
- 上記のようにすると、Articleを取得するAPI(`GET /api/v1/${articleID}`)が成功で返ってくるまでの間はローディングアイコンが表示され、成功で返ってくると、再度`render`が実行され、そのときは、`this.state.article.id` にはAPIで返された Article のIDが入っているので、ローディングアイコンではなく、 `<div>` 以下のコンポーネントが返されます。
95
+ 上記のようにすると、Articleを取得するAPI(`GET /api/v1/${articleID}`)が成功で返ってくるまでの間はローディングアイコンが表示され、成功で返ってくると、再度`render`が実行され、そのときは、`this.state.article.id` にはAPIで返された Article のIDが入っているので、ローディングアイコンではなく、 `<div>` 以下のコンポーネントが返されます。このようにすれば、 CommentComponent がrender されるときには、必ず `this.props.articleID` に適正なIDの値が渡されてくることになります。
96
96
 
97
97
 
98
98
 

2

テキスト修正

2019/07/24 12:42

投稿

jun68ykt
jun68ykt

スコア9058

test CHANGED
@@ -58,7 +58,7 @@
58
58
 
59
59
 
60
60
 
61
- 以下のように、 `render` の先頭で `this.state.article.id` に整数が入っているかをチェックして、入っていなければローディングアイコンを返すようにします。
61
+ 妥当な Article ID は整数であると仮定しますと、以下のように、 `render` の先頭で `this.state.article.id` に整数が入っているかをチェックして、入っていなければローディングアイコンを返すようにします。
62
62
 
63
63
 
64
64
 
@@ -88,6 +88,10 @@
88
88
 
89
89
 
90
90
 
91
+ もし、 妥当な Article ID が1以上の数であれば、if条件は `if (this.state.article.id > 0)` などでもよいでしょう。
92
+
93
+
94
+
91
95
  上記のようにすると、Articleを取得するAPI(`GET /api/v1/${articleID}`)が成功で返ってくるまでの間はローディングアイコンが表示され、成功で返ってくると、再度`render`が実行され、そのときは、`this.state.article.id` にはAPIで返された Article のIDが入っているので、ローディングアイコンではなく、 `<div>` 以下のコンポーネントが返されます。
92
96
 
93
97
 

1

テキスト修正

2019/07/24 12:39

投稿

jun68ykt
jun68ykt

スコア9058

test CHANGED
@@ -14,7 +14,7 @@
14
14
 
15
15
 
16
16
 
17
- 従って、`ArticleDetail` の初回の `render` では、`this.state.article` はコンストラクタで設定された空オブジェクトのままですので、 `this.state.article.id` は undefined になります。従って、
17
+ 従って、`ArticleDetail` の初回の `render` が実行される時点では、`this.state.article` は初期値として設定された空オブジェクトのままですので、 `this.state.article.id` は undefined になります。従って、
18
18
 
19
19
 
20
20