3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Reactやってみよう〜開発環境からHelloWorld

Last updated at Posted at 2019-10-06

開発準備

React開発のためにはNode,Yarn、Webpack,Babelなどのツールを設置、プロジェクトに設定する必要があります。

Node.js設置

WebpackとBabelの基盤はNode.jsなのでNode.jsを設置が必要、Node.jsの公式サイトから最新を設置します。

Yarn設置

Node.jsのパッケージマネージャ

VSCode設置

Microsoft社が開発したオープンソースのテキストエディタ、ReactのDebugもできる。
Debug For Chrome設置
スクリーンショット 2019-10-06 9.36.05.png
Add ConfigurationでChromeを設定したらlaunch.jsonが生成される。
スクリーンショット 2019-10-06 9.44.04.png
スクリーンショット 2019-10-06 9.44.15.png
launch.json編集 (url portを3000に変更)

{
    "version": "0.2.0",
    "configurations": [
        {
            "type": "chrome",
            "request": "launch",
            "name": "Launch Chrome against localhost",
            "url": "http://localhost:3000",
            "webRoot": "${workspaceFolder}"
        }
    ]
}

create-react-app設置

create-react-appツールを使えばReact実装に必要なモジュールを簡単に設置することができます。

  npm install -g create-react-app

HelloWorldプロジェクト生成

英語ができる方は以下のリンク参考してください。
https://code.visualstudio.com/docs/nodejs/reactjs-tutorial

create-react-appツールでhello_worldプロジェクト生成してnom startするだけでlocalhost:3000がChromeに表示される。

create-react-app hello_world
cd hello_world
npm start

npm startしたら表示されるページ
スクリーンショット 2019-10-06 9.52.57.png

自動的に生成されるソース

node_modules: 必要なモジュールが設置されている。
srcフォルダにはソースコードが配置されて、実際の開発はこの中で行います。

今回から必要なソース以外を削除

修正前

$tree -I 'node_modules'
.
├── README.md
├── package-lock.json
├── package.json
├── public
│   ├── favicon.ico
│   ├── index.html
│   ├── logo192.png
│   ├── logo512.png
│   ├── manifest.json
│   └── robots.txt
└── src
    ├── App.css
    ├── App.js
    ├── App.test.js
    ├── index.css
    ├── index.js
    ├── logo.svg
    └── serviceWorker.js

修正後

$tree -I 'node_modules'
.
├── README.md
├── package-lock.json
├── package.json
├── public
│   ├── favicon.ico
│   └── index.html
└── src
    ├── App.js
    └── index.js

index.htmlの中のrootIdのDivが入っている。

index.html
<body>
    <noscript>You need to enable JavaScript to run this app.</noscript>
    <div id="root"></div>
    ....

ReactDOMがdocument.getElementById('root')のElementにAppコンポーネントを注入するイメージで覚えたらいいかも。

index.js
import React from 'react';
import ReactDOM from 'react-dom';
import App from './App';

ReactDOM.render(<App />, document.getElementById('root'));

APPのRetunの中に書いているのはHtmlに見えますが、JSXと言うはHtml風に書けるJavaScriptの拡張構文

App.js
import React from 'react';

function App() {
  return (
    <div>Hello World!</div>
  );
}

export default App;
スクリーンショット 2019-10-06 11.34.44.png

次回からは簡単なテーマを考えて実際実装しながらReactの勉強をしようと思います。

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?