React

(初心者向け)Reactをざっくり理解する

React
この記事は約3分で読めます。

まえがき

最近エンジニアとして就職しまして、
Reactとか触っているのですが難しいなーって思う瞬間がとても多い。。

こちらの記事はReactを勉強する前の自分が、あったらいいなと思うようなことを書いていきます。

対象となる人

この記事では以下のような方達を対象に書いています

  • Reactって何?
  • HTMLとか少し触っただけ
  • でもJavaScriptはあんまわからない

そもそもReactとは?

  • Angular,Vueに並ぶ、SPA(Single Page Application)フレームワークの御三家の1つ
  • Facebook社が作ってる
  • めっちゃ人気

Reactの考え方

  • JSXかJSの中でHTMLを書く。(JSにHTMLっぽい記述をする感覚は、最初は違和感があるかも)
  • コンポーネント(Component):一言でいうと部品。ボタンとか。
  • Atomicデザイン:原子的な部品を作ろうという考え方。役割を最小限にして使いまわせるようにする。Reactで当てはめると、それ以上分解不可能なComponentを作ろう。となる。

参考記事
https://qiita.com/fiftie/items/37b2212739b29f3e79cc

コンポーネントについて

昔はReactのComponentクラスを継承して作るのが一般的だった

class Welcome extends React.Component{
 render(){
  return <h1>Hello,{this.props.name}</h1>
 }
}

今はfunctional component(関数コンポーネントとも)と呼ばれる、Componentを関数として定義することが一般的になりつつある

function Welcome (props) {
 return <h1>Hello,{props.name}</h1>
}

stateについて

  • stateとは状態を管理するための概念。Component内限定の変数みたいな感じ。
  • 大きな特徴は、これが更新されるとそのComponentが再描画されること。

サーバーから取得したあるデータAを、ある要素Xに表示しないといけないとする。
そのとき、要素XにAを表示する、ということを指定さえしておけば、要素Xを捕捉してAを追加して…みたいなことをしないですむ。

propsについて

  • propsとは別のComponentから受け渡されてきた値。
  • ここでは、「props」という名前のpropsに、変数valueを渡している。
  • ChildComponentは「props」を使って何かする。
  • propsが更新されても、そのComponentは再描画される。propsにstateを指定することもできる。

<Child props={value} />

props drillingについて

例えば以下のような構成があるとします。
そして、ComponentAで持っているデータをComponentDに渡したいとします。



この時、以下のようなことが発生してしまう。。


これはめっちゃ不毛:frowning2:
これがprops drilling問題・・。

Reduxでこれを解決する!

Storeと呼ばれるところに値を格納することで、どのコンポーネントでも使うことができる!


終わりに

かなりざっくりReactについて書いてみました。
参考になれば嬉しいです!