0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

自分用メモ(React)

Posted at

※自分用メモですが、「これからはじめるReact実践入門」を参考に勉強中のメモなので、この本に掲載されているサンプルコード等を引用してる場合があります。
※細かい用語については、特に自分にしか通じない言葉もあるので、つっこまないで…

webpacks
Babel:JSXを読み込むやつ

JS

React Developer Tool

Chromeとかのプラグイン。あると便利。

React Sample

繰り返し処理

index.js
  // ForListは自作のクラス。src=の{}はJSXにJavascript構文を埋め込むためのやつ。
  // booksはbooks.jsで定義してここでインポートしたオブジェクト。
  // src={books}と書くことで、Babelさんが{src: books}というオブジェクトに変換してるらしい。
  root.render(
    <ForList src={books} />  
  );
ForList.js
// ここで、srcはArray。
// Babelさんが引数を{src: books}という形で渡してくるので、そのうちsrcを直に受け取るためにForList({src})とする。
export default function ForList({src}) {
    // このreturnの後の()はJSXをひとまとめにするための()。
    // なのでJavascriptの構文ではない。1行で書くなら省略できるけど、複数行書きたければ()でくくるのだと。
    return(
        <dl>
        {
            src.map(elem => (
                <>
                    <dt>
                        <a href={`https://wings.msn.to/book/${elem.isbn}/${elem.isbn}.jpg`}>
                        {elem.title} ({elem.price})
                        </a>
                    </dt>
                </>
            ))
        }
        </dl>
    )
}

PropsとState

コンポーネントを支える基礎となる概念らしい。
どこ用語??(AI曰く、React用語だそうな)

コンポーネントは画面を構成する部品という理解でいいかな。

Propは値を渡すためのもので、Stateは状態を記述するためのもの。

以下のコードのsrc={books}がProps。
伝統的にこのオブジェクトの名前をpropsというけど、実際は名前はないでもよい??見たい。

index.js
  // ForListは自作のクラス。src=の{}はJSXにJavascript構文を埋め込むためのやつ。
  // booksはbooks.jsで定義してここでインポートしたオブジェクト。
  // src={books}と書くことで、Babelさんが{src: books}というオブジェクトに変換してるらしい。
  root.render(
    <ForList src={books} />  
  );

props.childrenプロパティ

呼び出し側の子要素を取得できる。
Reactでは複数のchildrenを渡せないから、渡したいなら工夫が必要???

RenderProps

描画のための関数を表す総称としてこう呼ぶみたい。
一旦以下は儀式だと思おう。
const [count, setCount] = useState(0);

情報伝達

親コンポーネントから子コンポーネントへの情報伝達はPropsで行い、逆はStateで行うのだそうな

コメント

.jsx
const tag = (
  // コメント。ここはまだJavascriptの世界かな?
  // 次の行からJSXの世界が始まる。
  <ul>
    {/* コメント。JSXの世界なので、一旦Javascriptの世界に戻してあげてコメント */}
    <li // だけれど、タグのなかならコメントできるんだって。
      >React</li>
    <li /*
       複数行コメントもいけるみたい。
    */>Vue.js</li>
  </ul>
);
0
0
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
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?