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

回答編集履歴

3

誤字訂正

2022/04/11 09:03

投稿

退会済みユーザー
answer CHANGED
@@ -92,4 +92,4 @@
92
92
 
93
93
  という訳で、文法的に正しいのかどうかは分かりませんが、最初の回答で書いた「中括弧で囲むのは JSX が変数を認識する方法」ではあると思います。
94
94
 
95
- ちなみに、引数の { } を外すと、npm start で Complied Successfully! とは出るものの、ブラウザにはも表示されない(空白になる)という結果になりました。
95
+ ちなみに、引数の { } を外すと、npm start で Complied Successfully! とは出るものの、ブラウザにはも表示されない(空白になる)という結果になりました。

2

追記2

2022/04/11 01:30

投稿

退会済みユーザー
answer CHANGED
@@ -63,4 +63,33 @@
63
63
 
64
64
  npm start で以下のようになります。 上の App.js のコードの <City subject="Clarice" /> の部分が期待通りに表示されているのが分かるでしょうか?
65
65
 
66
- ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-04-10/f2fafbf8-b3ab-4d57-9d36-ce5cc0dcb08a.jpeg)
66
+ ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-04-10/f2fafbf8-b3ab-4d57-9d36-ce5cc0dcb08a.jpeg)
67
+
68
+ ---
69
+
70
+ **【追記2】**
71
+
72
+ 下のコメント欄で、
73
+
74
+ > 質問されている内容が「function City ({videos})」の中括弧で、JSXの書き方とは別件だったので評価を下げました。
75
+
76
+ ・・・というコメントがあったので、以下追記しておきます。
77
+
78
+ 上の【追記】に書いた City.js を、質問者さんが書いた「こちらの表記では上手くいくのですが」のように即ち以下のようにしても、上の【追記】の画像と同じ結果になります。
79
+
80
+
81
+ ```
82
+ import React from 'react';
83
+
84
+ function City({subject}) {
85
+ return (
86
+ <p>Hello {subject} from City</p>
87
+ );
88
+ }
89
+
90
+ export default City;
91
+ ```
92
+
93
+ という訳で、文法的に正しいのかどうかは分かりませんが、最初の回答で書いた「中括弧で囲むのは JSX が変数を認識する方法」ではあると思います。
94
+
95
+ ちなみに、引数の { } を外すと、npm start で Complied Successfully! とは出るものの、ブラウザには無も表示されない(空白になる)という結果になりました。

1

追記

2022/04/10 07:30

投稿

退会済みユーザー
answer CHANGED
@@ -3,4 +3,64 @@
3
3
  中括弧で囲むのは JSX が変数を認識する方法ということで、そうしなければダメということだと思いますが。。
4
4
 
5
5
  変数と props
6
- https://developer.mozilla.org/ja/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/React_getting_started#variables_and_props
6
+ https://developer.mozilla.org/ja/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/React_getting_started#variables_and_props
7
+
8
+ ---
9
+
10
+ **【追記】**
11
+
12
+ > Reactで、親コンポーネントから子コンポーネントへのpropsの渡し方を学習しています。
13
+
14
+ そこに対して、こうしてはいかがという例を書いておきます。
15
+
16
+ 子コンポーネント City.js は以下のように引数を props にし、渡されるプロパティの中の subject という項目を表示するとします。
17
+
18
+
19
+ ```
20
+ import React from 'react';
21
+
22
+ function City(props) {
23
+ return (
24
+ <p>Hello {props.subject} from City</p>
25
+ );
26
+ }
27
+
28
+ export default City;
29
+ ```
30
+
31
+ 親は、上の回答で紹介した記事の App.js を使ってその中に City を subject="Clarice" というプロパティ設定と共に組み入れます。
32
+
33
+ ```
34
+ import logo from './logo.svg';
35
+ import './App.css';
36
+ import City from './City';
37
+
38
+ function App() {
39
+ return (
40
+ <div className="App">
41
+ <header className="App-header">
42
+ <img src={logo} className="App-logo" alt="logo" />
43
+ <p>
44
+ Edit <code>src/App.js</code> and save to reload.
45
+ </p>
46
+ <a
47
+ className="App-link"
48
+ href="https://reactjs.org"
49
+ target="_blank"
50
+ rel="noopener noreferrer"
51
+ >
52
+ Learn React
53
+ </a>
54
+ <City subject="Clarice" />
55
+ </header>
56
+ </div>
57
+ );
58
+ }
59
+
60
+ export default App;
61
+
62
+ ```
63
+
64
+ npm start で以下のようになります。 上の App.js のコードの <City subject="Clarice" /> の部分が期待通りに表示されているのが分かるでしょうか?
65
+
66
+ ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-04-10/f2fafbf8-b3ab-4d57-9d36-ce5cc0dcb08a.jpeg)