コンポーネント

コンポーネントとは?

独立した再利用可能なパーツに分割して各部分を別々に考えることができる
コンポーネントを組み合わせてアプリ、ページを作っていく
関数コンポーネントとクラスコンポーネントの2種類がある

子コンポーネント…呼び出される側(export)
親コンポーネント…呼び出す側(import)

JavaScriptの関数みたいなものだね!
function Hello() {
  return (
    <div><world /></div>
    );
}
export default Hello;

↑が親コンポーネント ↓子コンポーネント

const World = () => {
  return <p>ハロー</p>
  );
  
  export default World;

クラス名は大文字で始めます!

関数コンポーネントとクラスコンポーネントの違い

クラスコンポーネント
class world extends React.Component {
  render() {
    return <h1>Hello, {this.props.name}</h1>;
  }
}

renderメソッドの中に記述します
propsを使用するときにthisの概念を使わなければいけない

関数コンポーネント
function world(props) {
  return <h1>Hello, {props.name} </h1>;
}

JavaScriptを学んだ方はこちらの方が書き方としては慣れているかと思います!

const world = (props) => {
  return <h1>Hello, {props.name} </h1>;
}

アロー関数で書くとこんな感じです

以前はクラスコンポーネントでしかstateやLifecycleは使えなかったが、アップデートで『Hooks』が登場し、記述量の少ない関数コンポーネントが今では主流になってきました

props

propsとは?

親コンポーネントから子コンポーネントなどへデータを渡す役割を持った概念
データは{}の中に指定
データはなんでも渡せれる

親コンポーネント
function Chara() {
return (
  <div>
  <Character
    height = {'私の身長は170cmです'}
    weight = {'私の体重は60kgです'}
    />
  </div>
  );
}
exprot default Chara

表示させたいデータを記述

子コンポーネント
const Character = (props) => {
  return (
    <div>
      <p>{props.height}</p>
      <p>{props.weight}</p>
      </div>
    );
}
exprot default Character

propsを使用し動的に変わるように記述

propsのイメージはこのような感じです
ブラウザには『私の体重は170cmです』と表示されます

引数のような感じだね!
おすすめの記事