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?

More than 3 years have passed since last update.

[React] propsの基本

Posted at

前回は関数コンポーネントの基本的な書き方について記事を書いた。
https://qiita.com/QiitaD/items/5ba8adbde6ff01c914a7

今回はpropsについて記事にしようと思う。

##propsとは
データの入ったプロパティという意味。個人的には引数みたいなものと認識している。
例えば関数コンポーネントにpropsとしてデータを渡すことで、そのデータを関数コンポーネント内で使うことができるし、データに応じた要素を返却できる。

##コード
前回のButton.tsxファイルにpropsを設定してみる。propsとしてボタンに表示するテキストを指定できるようにしようと思う。

Button.tsx

import React from "react";

export default Button;

// propsを指定するときはinterfaceを使う。このブロック内にボタン表示テキストを定義しておく
interface ButtonProps {
  text: string;
}

//関数コンポーネントの引数としてButtonPropsを指定することで、呼び出し側でtext: stringを指定しなければならなくなる。(もちろん複数定義されていればその分渡す必要がある)
function Button(props: ButtonProps) {
  return <button>{props.text}</button>;
}

呼び出し側は、関数呼び出し時にButtonPropsに定義されている変数を渡すだけである。

import React from "react";
import { RecoilRoot } from "recoil";
import Button from "./Button";

function App() {
  return (
    <RecoilRoot>
      <div>
        //ここでtextにデータを渡す。
        <Button text="テストボタン"></Button>
      </div>
    </RecoilRoot>
  );
}

export default App;

##表示結果
前回と同じ結果になる
スクリーンショット (110).png

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?