1
1
---
2
2
id : add-react-to-a-website
3
- title : ウェブサイトに React を導入する
3
+ title : 既存のウェブサイトに React を追加する
4
4
permalink : docs/add-react-to-a-website.html
5
5
redirect_from :
6
6
- " docs/add-react-to-an-existing-app.html"
@@ -16,18 +16,18 @@ React は段階的に導入することができるように最初からデザ
16
16
17
17
---
18
18
19
- - [ 1分で React を導入する ] ( #add-react-in-one-minute )
20
- - [ オプション:React で JSX を使う] ( #optional-try-react-with-jsx ) ( バンドルツールは不要です!)
19
+ - [ 1 分で React を追加する ] ( #add-react-in-one-minute )
20
+ - [ オプション:React で JSX を使う] ( #optional-try-react-with-jsx ) ( バンドルツールは不要です!)
21
21
22
22
## 1分で React を導入する
23
23
24
24
このセクションでは、既存の HTML ページに React コンポーネントを導入する方法を説明します。以下の部分では自分のウェブサイトを利用して進めてもいいですし、練習用に空っぽの HTML ファイルを用意するのもいいでしょう。
25
25
26
- 複雑なツール類や事前にインストールしておかなければいけないものはありません。** インターネットへの接続さえあれば、1分間でこのセクションを終わらせることができます 。**
26
+ 複雑なツール類や事前にインストールしておかなければいけないものはありません。** インターネットへの接続さえあれば、1 分間でこのセクションを終わらせることができます 。**
27
27
28
28
オプション:[ お手本をダウンロードする (2KB ZIP圧縮)] ( https://gist.github.com/gaearon/6668a1f6986742109c00a581ce704605/archive/f6c882b6ae18bde42dcf6fdb751aae93495a2275.zip )
29
29
30
- ### ステップ1 :HTML に DOM コンテナを追加する
30
+ ### ステップ 1 :HTML に DOM コンテナを追加する
31
31
32
32
まずは編集したい HTML ファイルを開きましょう。React で描画したい箇所を決めて、空っぽの ` <div> ` 要素を追加しましょう。例えばこんな感じです。
33
33
@@ -45,9 +45,9 @@ React は段階的に導入することができるように最初からデザ
45
45
>
46
46
> 「コンテナ」としての ` <div> ` 要素は ` <body> ` タグの中であれば** どこにでも** 置くことができます。また空っぽの ` <div> ` はひとつのページにひとつだけでも、あるいは必要なだけたくさんあっても大丈夫です。` <div> ` 要素は空っぽのことが多いですが、それはたとえ ` <div> ` の中に他の要素があったとしても、React が結局その中身を置き換えてしまうからです。
47
47
48
- ### ステップ2 :script タグを追加する
48
+ ### ステップ 2 :script タグを追加する
49
49
50
- 次に、同じ HTML ファイルの ` </body> ` タグの直前に、3つの ` <script> ` タグを追加しましょう。
50
+ 次に、同じ HTML ファイルの ` </body> ` タグの直前に、3 つの ` <script> ` タグを追加しましょう。
51
51
52
52
``` html{5,6,9}
53
53
<!-- ... other HTML ... -->
@@ -65,17 +65,17 @@ React は段階的に導入することができるように最初からデザ
65
65
66
66
最初のふたつのタグは React を読み込んでおり、最後のタグはこれから書くコンポーネントのコードを読み込んでいます。
67
67
68
- ### ステップ3 :React コンポーネントを作成する
68
+ ### ステップ 3 :React コンポーネントを作成する
69
69
70
70
` like_button.js ` という名前の新しいファイルを作成し、HTML ファイルのすぐ隣に置きましょう。
71
71
72
- ** [ サンプルコード] ( https://cdn.rawgit.com/gaearon/0b180827c190fe4fd98b4c7f570ea4a8/raw/b9157ce933c79a4559d2aa9ff3372668cce48de7/LikeButton.js ) ** を開いて、自分のファイルにコピーアンドペーストしてください。
72
+ ** [ サンプルコード] ( https://cdn.rawgit.com/gaearon/0b180827c190fe4fd98b4c7f570ea4a8/raw/b9157ce933c79a4559d2aa9ff3372668cce48de7/LikeButton.js ) ** を開いて、自分のファイルにコピーアンドペーストしてください。
73
73
74
74
> ヒント
75
75
>
76
- > このコードは ` LikeButton ` という React コンポーネントを定義しています。まだわからなくても心配しなくて大丈夫です。こういった React の構成要素については、[ チュートリアル] ( /tutorial/tutorial.html ) と [ Hello World] ( /docs/hello-world.html ) のページで後ほどみていくことにして 、まずはサンプルコードを画面に表示させてみましょう!
76
+ > このコードは ` LikeButton ` という React コンポーネントを定義しています。まだわからなくても心配しなくて大丈夫です。こういった React の構成要素については、[ チュートリアル] ( /tutorial/tutorial.html ) と [ Hello World] ( /docs/hello-world.html ) のページで後ほど見ていくことにして 、まずはサンプルコードを画面に表示させてみましょう!
77
77
78
- ** [ サンプルコード] ( https://cdn.rawgit.com/gaearon/0b180827c190fe4fd98b4c7f570ea4a8/raw/b9157ce933c79a4559d2aa9ff3372668cce48de7/LikeButton.js ) ** の末尾に次の2行を追加してみましょう 。
78
+ ** [ サンプルコード] ( https://cdn.rawgit.com/gaearon/0b180827c190fe4fd98b4c7f570ea4a8/raw/b9157ce933c79a4559d2aa9ff3372668cce48de7/LikeButton.js ) ** の末尾に次の 2 行を追加してみましょう 。
79
79
80
80
``` js{3,4}
81
81
// ... コピーアンドペーストしたサンプルコード ...
@@ -84,11 +84,11 @@ const domContainer = document.querySelector('#like_button_container');
84
84
ReactDOM.render(e(LikeButton), domContainer);
85
85
```
86
86
87
- この2行のコードは、ステップ1で追加した空っぽの ` <div> ` 要素を見つけてきて、その中に React コンポーネントの「いいね」ボタンを表示します。
87
+ この 2 行のコードは、ステップ 1 で追加した空っぽの ` <div> ` 要素を見つけてきて、その中に React コンポーネントの「いいね」ボタンを表示します。
88
88
89
89
### これだけです!
90
90
91
- ステップ4はありません 。** これであなたは自分のウェブサイトにはじめての React コンポーネントを導入できました** 。
91
+ ステップ 4 はありません 。** これであなたは自分のウェブサイトにはじめての React コンポーネントを導入できました** 。
92
92
93
93
React の導入についてもっと知るには、次のセクションも見てみてください。
94
94
@@ -106,7 +106,7 @@ React コンポーネントを HTML ページの一箇所だけではなくい
106
106
107
107
> 補足
108
108
>
109
- > このようなやり方は、主に React を利用する DOM コンテナがページ内でお互いに干渉していない場合において便利な手段です。 React 単体のコードとしては、[ コンポーネントを組み合わせる] ( /docs/components-and-props.html#コンポーネントを組み合わせる ) やり方のほうが手軽です。
109
+ > このようなやり方は、主に React を利用する DOM コンテナがページ内でお互いに干渉していない場合において便利な手段です。 React 単体のコードとしては、[ コンポーネントを組み合わせる] ( /docs/components-and-props.html#composing-components ) やり方のほうが手軽です。
110
110
111
111
### ヒント:本番環境用に JavaScript を圧縮する
112
112
@@ -123,7 +123,7 @@ React コンポーネントを HTML ページの一箇所だけではなくい
123
123
124
124
## オプション:React で JSX を使う
125
125
126
- 今までのお手本は、ブラウザにもともと備わっている機能に沿ってきました 。React コンポーネントを表示するために次のような JavaScript の関数を呼び出していたのはそのためです。
126
+ 今までの例では、ブラウザにもともと備わっている機能のみ使ってきました 。React コンポーネントを表示するために次のような JavaScript の関数を呼び出していたのはそのためです。
127
127
128
128
``` js
129
129
const e = React .createElement ;
@@ -147,7 +147,7 @@ return (
147
147
);
148
148
```
149
149
150
- これらふたつのスニペットはまったく同じ内容です。** JSX の使用は[ いっさい強制されません ] ( /docs/react-without-jsx.html ) ** が、React はもちろん他のライブラリで UI を記述する際にも、JSX は多くの人に支持されています。
150
+ これらふたつのスニペットはまったく同じ内容です。** JSX の使用は[ 完全にオプションです ] ( /docs/react-without-jsx.html ) ** が、React はもちろん他のライブラリで UI を記述する際にも、JSX は多くの人に支持されています。
151
151
152
152
[ このコンバーター] ( http://babeljs.io/repl#?babili=false&browsers=&build=&builtIns=false&spec=false&loose=false&code_lz=Q&debug=false&forceAllTransforms=false&shippedProposals=false&circleciRepo=&evaluate=false&fileSize=false&sourceType=module&lineWrap=true&presets=es2015%2Creact%2Cstage-2%2Cstage-3&prettier=true&targets=Node-6.12&version=6.26.0&envVersion= ) 上で JSX を使って遊んでみてください。
153
153
@@ -159,24 +159,24 @@ return (
159
159
<script src =" https://unpkg.com/babel-standalone@6/babel.min.js" ></script >
160
160
```
161
161
162
- この状態で、任意の ` <script> ` タグに ` type="text/babel" ` を持たせることで 、その ` <script> ` タグの中では JSX が使えるようになります。[ サンプル用 HTML ファイル] ( https://raw.githubusercontent.com/reactjs/reactjs.org/master/static/html/single-file-example.html ) をダウンロードして遊んでみてください。
162
+ この状態で、任意の ` <script> ` タグに ` type="text/babel" ` 属性を持たせることで 、その ` <script> ` タグの中では JSX が使えるようになります。[ サンプル用 HTML ファイル] ( https://raw.githubusercontent.com/reactjs/reactjs.org/master/static/html/single-file-example.html ) をダウンロードして遊んでみてください。
163
163
164
- こういったやり方で学習したりシンプルなデモを作成してみることはいいことですが 、これをそのまま使うとウェブサイトは重くなってしまい、** 本番環境には向きません** 。次のレベルに進む準備ができたら、先ほど追加した ` <script> ` タグと ` type="text/babel" ` は削除してしまいましょう 。そして次のセクションに進み、JSX プリプロセッサを設定して ` <script> ` タグを自動変換する方法を学びましょう 。
164
+ この方法は学習やシンプルなデモの作成にはいいですが 、これをそのまま使うとウェブサイトは重くなってしまい、** 本番環境には向きません** 。次のレベルに進む準備ができたら、先ほど追加した ` <script> ` タグと ` type="text/babel" ` 属性は削除してしまいましょう 。そして次のセクションに進み、JSX プリプロセッサを設定して ` <script> ` タグを自動変換するようにしましょう 。
165
165
166
166
### JSX をプロジェクトに追加する
167
167
168
- JSX をプロジェクトに追加するためには、バンドルツールや開発用サーバーといった複雑なツールは必要ありません。つまるところ、JSX を追加するとは ** CSS プリプロセッサを追加することにとてもよく似ています** 。唯一必要となるのは、コンピューターに [ Node.js] ( https://nodejs.org/ ) がインストールされていることだけです。
168
+ JSX をプロジェクトに追加するためには、バンドルツールや開発用サーバーといった複雑なツールは必要ありません。つまるところ、JSX を追加することは ** CSS プリプロセッサを追加することにとてもよく似ています** 。唯一必要となるのは、コンピューターに [ Node.js] ( https://nodejs.org/ ) がインストールされていることだけです。
169
169
170
170
ターミナルを開き、プロジェクトのディレクトリに移動した上で、次のふたつのコマンドを実行してください。
171
171
172
- 1 . ** ステップ1 :** ` npm init -y ` (うまくいかなければ[ こうやってみてください] ( https://gist.github.com/gaearon/246f6380610e262f8a648e3e51cad40d ) )
173
- 2 . ** ステップ2 :** ` npm install babel-cli@6 babel-preset-react-app@3 `
172
+ 1 . ** ステップ 1 :** ` npm init -y ` (うまくいかなければ[ こうやってみてください] ( https://gist.github.com/gaearon/246f6380610e262f8a648e3e51cad40d ) )
173
+ 2 . ** ステップ 2 :** ` npm install babel-cli@6 babel-preset-react-app@3 `
174
174
175
175
> ヒント
176
176
>
177
- > ここでは** JSX プリプロセッサをインストールするためだけに npm を使っています** 。それ以外の用途では必要ありません。React のソースコードもアプリケーションコードも引き続き ` <script> ` タグの中に書くことができますし、今までのやり方となんら変わりありません 。
177
+ > ここでは ** JSX プリプロセッサをインストールするためだけに npm を使っています** 。それ以外の用途では必要ありません。React のソースコードもアプリケーションコードも引き続き ` <script> ` タグの中にそのまま書くことができます 。
178
178
179
- お疲れ様です!これで** 本番環境用の JSX の設定** をプロジェクトに追加することができました。
179
+ お疲れ様です! これで** 本番環境用の JSX の設定** をプロジェクトに追加することができました。
180
180
181
181
182
182
### JSX プリプロセッサを実行する
@@ -195,8 +195,8 @@ npx babel --watch src --out-dir . --presets react-app/prod
195
195
196
196
このコマンドは JSX を継続的に監視するため、実行が完了するのを待つ必要はありません。
197
197
198
- ** [ このお手本の JSX コード] ( https://cdn.rawgit.com/gaearon/c8e112dc74ac44aac4f673f2c39d19d1/raw/09b951c86c1bf1116af741fa4664511f2f179f0a/like_button.js ) ** を参考に ` src/like_button.js ` というファイルを作成すると、先ほど起動したコマンドがブラウザの仕様にあった ` like_button.js ` に変換してくれます。JSX ファイルをさらに編集したとしても、何度でも自動的に変換してくれます 。
198
+ ** [ このお手本の JSX コード] ( https://cdn.rawgit.com/gaearon/c8e112dc74ac44aac4f673f2c39d19d1/raw/09b951c86c1bf1116af741fa4664511f2f179f0a/like_button.js ) ** を参考に ` src/like_button.js ` というファイルを作成すると、先ほど起動したコマンドがブラウザでの実行に適した ` like_button.js ` に変換してくれます。JSX ファイルを編集したら、自動的に再変換してくれます 。
199
199
200
- さらにこの変換コマンドのおかげで、古いブラウザの互換性を気にすることなく、クラス構文などといったモダンな JavaScript の機能を使うこともできるようになります 。このツールは Babel というもので、もっと詳しく知りたければ[ 公式ドキュメント] ( http://babeljs.io/docs/en/babel-cli/ ) をご覧になってみてください。
200
+ さらにこの変換コマンドのおかげで、古いブラウザの互換性を気にすることなく、クラス構文といったモダンな JavaScript の構文を使うこともできるようになります 。このツールは Babel というもので、もっと詳しく知りたければ[ 公式ドキュメント] ( http://babeljs.io/docs/en/babel-cli/ ) をご覧になってみてください。
201
201
202
- ビルドツールの便利さを体感して、もっとたくさんのことをツールに任せて快適な環境を手に入れたいと思っていただけたなら 、[ 次のセクション] ( /docs/create-a-new-react-app.html ) ではさらにいくつかの人気で扱いやすいツールチェーンを紹介しています。あまり興味が持てないようでしたら、それでも大丈夫です。 ` <script> ` タグだけでも十分な機能を果たせますから。
202
+ ビルドツールの便利さを体感して、もっとたくさんのことをツールに任せたいと思っていただけたなら 、[ 次のセクション] ( /docs/create-a-new-react-app.html ) ではさらにいくつかの人気で扱いやすいツールチェーンを紹介しています。そうでもない場合は… ` <script> ` タグだけでも十分な機能を果たせます!
0 commit comments