ターミナルを開き、コマンドを実行する
npx create-react-app my-app
cd my-app
npxを使用すれば、npm installでローカルやグローバルにパッケージを落とさなくてもパッケージを使用することができる。1回限りに使用したいときなどに便利。
create-react-appでreactのアプリケーションを生成、babelやwebpackなどのパッケージをインストールしてくれる。
インストールされたアプリケーションの構成は下記のようになる
my-app
├── README.md
├── node_modules
├── package.json
├── .gitignore
├── public
│ ├── favicon.ico
│ ├── index.html
│ └── manifest.json
└── src
├── App.css
├── App.js
├── App.test.js
├── index.css
├── index.js
├── logo.svg
└── serviceWorker.js
my-app上で下記コマンドを実行する
npm start my-app
下のような画面がhttp://localhost:3000/で立ち上がる
index.jsではAppというコンポーネントの出力をrootにレンダリングしている。
index.js
ReactDOM.render(<App />, document.getElementById('root'));
レンダリング先はindex.htmlのrootになる。ReactはSPAのアプリケーションのため、レンダリング先はindex.htmlのみになる。
my-app
├── public
│ ├── index.html
index.html
<div id="root"></div>
rootにレンダリングされるApp.jsの中身は下記の通り
App.js
import React from 'react';
import logo from './logo.svg';
import './App.css';
function App() {
return (
<div className="App">
<header className="App-header">
<img src={logo} className="App-logo" alt="logo" />
<p>
Edit <code>src/App.js</code> and save to reload.
</p>
<a
className="App-link"
href="https://reactjs.org"
target="_blank"
rel="noopener noreferrer"
>
Learn React
</a>
</header>
</div>
);
}
export default App;
http://localhost:3000/でブラウザが立ちがり、App関数内のreturnの中身がレンダリングされる。