Writer: tokuyasu 更新日:2023/10/16
こんにちは、デジナーレ福岡オフィスの徳安です。
この記事では、【React】Propsについて説明します。
propsとは
 props(“properties” の略)とは
コンポーネントに受け渡す引数のようなもので、
コンポーネントは、受け取ったpropsに応じて
表示するスタイルや内容を変化させることが可能。
Propsの渡し方
<App.jsx>
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | const App = () => {   const red = {     color: 'red',   };   const pink = {     color: 'pink',   };   const blue = {     color: 'blue',   };   return (     <>       <p style={red}>Hello!!</p>       <p style={pink}>こんにちは!!</p>       <p style={blue}>你好!!</p>     </>   ); }; | 
上記コードをcomponentを分割して、
propsの受け渡しによって
変化することができるように作成する。
childen
タグで囲んだ要素は
childrenとして受け渡すことが可能。
| 1 | <Sample color="red">Hello!! ←この部分がchildrenとして受け渡される</Sample> | 
1. 「props.XX」と書く渡し方
各propsに対してprops.XXと記述する必要があり、
数が多いと煩雑になる。
<App.jsx>
| 1 2 3 4 5 6 7 8 9 | const App = () => {   return (     <>       <Component color="red">Hello!!</Sample>       <Component color="pink">こんにちは!!</Sample>       <Component color="blue">你好!!</Sample>     </>   ); }; | 
<Component.jsx>
| 1 2 3 4 5 6 7 8 9 10 11 | const Component = (props) => {   const style ={     color: props.color,   }   return (     <>       <p style={style}>{props.children}</p>     </>   ) } export default Component; | 
2. propsを分割代入する渡し方
propsはオブジェクトなので分割代入ができる。
<Component.jsx>
| 1 2 3 4 5 6 7 8 9 10 11 12 | const Component = (props) => { const { color, children } = props    const style ={     color: color,   }   return (     <>       <p style={style}>{children}</p>     </>   ) } export default Component; | 
3. 引数の段階で分割代入
上記例ではpropsを引数の段階で、
分割代入することも可能。
(引数の段階で、分割代入する方法が
シンプルで一番スッキリする)
<Component.jsx>
| 1 2 3 4 5 6 7 8 9 10 11 12 | const Sample = ({color, children}) => {   const style ={     color: color,   }   return (     <>       <p style={style}>{children}</p>     </>   ) } export default Sample; | 
下記部分はオブジェクトの省略記法が使用できる。
| 1 2 3 4 5 |   const style ={     // color: color,     // key とvalueが同じなので、省略記法が使える。     color,   } | 
このように、propsの受け渡し方や省略記法にも
様々な書き方があるため、頭に入れておくことが必要。
ここまで読み進めていただきありがとうございます。
 
				
 
								