LoginSignup
0
1

More than 1 year has passed since last update.

Reactを始めたい人へ。

Last updated at Posted at 2021-09-18

この記事は下記のような人に役に立てるように書いていければと思います。

  • これからReact学びたい!けど何から初めて良いかわからない
  • モダンフロントってどこか苦手なレガシー思考な人
  • Reactに書かれている記事は見たけど、よくわからない部分が多い
  • 開発環境とか整えるのが面倒

これから勉強したい人、今勉強しているけどつまずいてモチベーション上がらない人の助けになればと思います。

僕はまずチュートリアルから開始しました。
Reactチュートリアル

コンポーネント

データが変更されるとReactは再レンダリングします。

class List extends React.Component {
  render() {
    return (
      <div className="list">
        <h1>List for {this.props.name}</h1>
        <ul>
          <li>hoge</li>
          <li>hoge2</li>
          <li>hoge3</li>
        </ul>
      </div>
    );
  }
}

// Example usage: <List name="Test" />

上記コードのListはReactコンポーネントクラス、Reactコンポーネント型と呼びます。
コンポーネントはPropsと呼ばれるパラメーターを受け取り、renderメソッドで表示するビューの階層構造を返します。

renderについて

renderは軽量な記述形式であるReact要素を返します。
それを簡単に記述できるのが『JSX』と呼ばれる構文です。
renderの中で定義された下記のコードは

<div className="list">
  <h1>List for {this.props.name}</h1>
  <ul>
    <li>hoge</li>
    <li>hoge2</li>
    <li>hoge3</li>
  </ul>
</div>

ビルドすると以下のコードに変換される。

return React.createElement('div', {className: 'list'},
  React.createElement('h1', /* ... h1 children ... */),
  React.createElement('ul', /* ... ul children ... */)
);

コンポーネントまとめ

単純なコンポーネントを組み合わせることで複雑なUIを再現するというのが一般的な実装です。

0
1
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
0
1