React の基本要素 〜 React 要素と ReactDOM

最小の React ページの構成

React を利用するには、この後説明するように React と ReactDOM というパッケージが必要になります。

これらを取り込んだ最低限の React ページは次のような構成になります。

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8" />
    <title>Simple React</title>
  </head>
  <body>
    <div id="root"></div>
    <script src="https://unpkg.com/react@latest/umd/react.development.js"></script>
    <script src="https://unpkg.com/react-dom@latest/umd/react-dom.development.js"></script>
  </body>
</html>

root という id の div 要素には、React が出力する DOM が設定されることになります。

React の基本要素 〜 React 要素

一般的に JavaScript で HTML を操作するということは、HTML が構成する DOM (Document Object Model) 要素を JavaScript で操作するということに他なりません。

React は動的なWebページ (アプリケーション) を構築するためのライブラリですが、React では 「React 要素 (React Element)」を操作することによって HTML を操作します。

React 要素を作成するには、React API の React.createElement() メソッドが利用できます。React は react パッケージから取り込めます。

ここでは基礎的な内容を説明するために createElement() メソッドで React 要素を作成しています。 実際の開発では通常 JSX という表記方法が用いられます。

React.createElement() メソッドは次の形で使います。

React.createElement(HTML要素名, プロパティ, 子要素)

例えば h1 タグとして作成される React 要素で、プロパティ myaddr='bar'、子要素は 'First element!' という文字だけとした場合、 次のように書けます。

var a = React.createElement('h1', { myaddr: 'bar' }, 'First element!')
console.log(a)

この console.log(a) の出力は次のようになります。

React 要素の画面への出力 〜 ReactDOM

React 要素とブラウザ上のDOMを接続するために ReactDOM API が用意されています。ReactDOM は react-dom パッケージを取り込むことによって利用可能になります。

ブラウザ画面に React 要素を出力する役割を担うのは、 ReactDOM の render メソッドです。

render() メソッドの第一引数には、出力する React 要素 (または React 要素の配列) を渡します。 第二引数には HTML (ブラウザ) の DOM 要素を渡します。

試しに、上で作成した React 要素を出力してみましょう。

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8" />
    <title>Simple React</title>
  </head>
  <body>
    <div id="root"></div>
    <script src="https://unpkg.com/react@latest/umd/react.development.js"></script>
    <script src="https://unpkg.com/react-dom@latest/umd/react-dom.development.js"></script>
    <script src="js/test1.js"></script>
  </body>
</html>
var a = React.createElement('h1', { myaddr: 'bar' }, 'First element!')
ReactDOM.render(a, document.getElementById('root'))
js/test1.js

この結果、次のように表示されます。

上図、赤枠の箇所に確かに、 First element! という文字がセットされた h1 要素が確認できますね。

ここまでお読みいただき、誠にありがとうございます。SNS 等でこの記事をシェアしていただけますと、大変励みになります。どうぞよろしくお願いします。

© 2024 React 入門