propsとは
propsとはコンポーネントに対して定義する値で親コンポーネントから子コンポーネントへ値を渡すための仕組みです。
子コンポーネントでは引数で受け取った値や関数を利用することができます。
props使い方
例えば記事を表示するような子コンポーネントArticleがあったとして、タイトルなどを直接子コンポーネントに書いているとコンポーネントのメリットである再利用のメリットが薄れてしまいます。
そのため動的な部分はpropsでデータを受け渡してあげるようにします。
実際の使い方を見てみましょう。
子コンポーネント(Article.jsx)
子コンポーネントで親コンポーネントからtitle,category,イメージ画像、textをpropsとして受け取っています。
import '../css/article.css';
const Article = (props) => {
return(
<article>
<header>
<h2>{props.title}</h2>
<p>カテゴリ:{props.category}</p>
</header>
<div className='image'>
<img src={props.image} alt="カフェ画像" />
</div>
<p>{props.text}</p>
</article>
);
}
export default Article;
親コンポーネント(App.jsx)
例としてpropを{}で記述し、各項目の変数を渡しています。直接文字列を渡すことも可能です。
import Article from "./components/Article";
import cafeMenu_01 from "./images/cafeMenu_01.jpg";
function App() {
const titleApp ='春限定メニュー登場しました';
const categoryApp = 'デザート';
const textApp ='いちごや栗など抹茶など12種類の素材を使用した限定メニューです';
return (
< Article
title={titleApp}
category={categoryApp}
text={textApp}
image={cafeMenu_01}
/>
);
}
export default App;
以下のようにpropsで渡して子コンポーネントArticleの部分を表示することができました。