【React入門】 2 複数コンポーネント

この記事では以下の画面を作成する。

f:id:kosumoro:20160804224846j:plain

https://cosmology233.github.io/sandbox/hatena/2016/08/04/

index.html

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width,initial-scale=1">
  <title>Practice React</title>
</head>
<body>
  
  <div id="app"></div>

  <script src="//cdnjs.cloudflare.com/ajax/libs/react/15.2.1/react.min.js"></script>
  <script src="//cdnjs.cloudflare.com/ajax/libs/react/15.2.1/react-dom.min.js"></script>
  <script src="//cdnjs.cloudflare.com/ajax/libs/babel-core/5.8.23/browser.min.js"></script>
  <script src="./scripts/script.js" type="text/babel"></script>
</body>
</html>

前回と同じ。

kosumemo.hatenablog.com

scripts/script.js

class MyApp extends React.Component {
  render() {
    return (
      <div>
        <MyAppHeader />
        
        <h1>Hello world!</h1>
      </div>
    );
  }
};

class MyAppHeader extends React.Component {
  render() {
    return (
      <header>
        <h1>This is Header!</h1>
      </header>
    );
  }
};

ReactDOM.render(
  <MyApp />,
  document.getElementById("app")
);

React.Component を継承して作成されたクラスは、コンポーネントとして利用することができる。

上記の例では、 MyAppHeader クラスをコンポーネントとして MyApp クラス内で使用している。

Reactではこのように、機能ごとにコンポーネントを複数作成して画面を構成していく。