Open Haramaki0326 opened 2 years ago
App.jsx (Propsを渡す側)
import {} from "./components/ColoredMessage";
export const App = () => {
return (
<>
<h1 style={{ color: 'red' }}>こんにちは!</h1>
<ColoredMessage color='blue' message='お元気ですか?' />
<button onClick={onClickButton}> ボタン </button>
</>
);
};
ColoredMessage.jsx (Propsを渡される側)
export const ColoredMessage = (props) => {
const contentStyle = {
color: props.color,
fontSize: '20px'
}
return (
<p style={contentStyle}>{props.message}</p>
);
};
<ColoredMessage />
<ColoredMessage> foo </ ColoredMessage>
App.jsx (Propsを渡す側)
import {} from "./components/ColoredMessage";
export const App = () => {
return (
<>
<h1 style={{ color: 'red' }}>こんにちは!</h1>
<ColoredMessage color='blue'>お元気ですか?</ ColoredMessage>
<button onClick={onClickButton}> ボタン </button>
</>
);
};
ColoredMessage.jsx (Propsを渡される側)
export const ColoredMessage = (props) => {
const contentStyle = {
color: props.color,
fontSize: '20px'
}
return (
<p style={contentStyle}>{props.children}</p>
);
};
props.~
と記述するのは面倒そこで最初の段階でpropsを分割代入しておく
export const ColoredMessage = (props) => {
const { color, children } = props;
const contentStyle = {
color: color,
fontSize: '20px'
}
return (
<p style={contentStyle}>{children}</p>
);
};
{ }
が必要export側
export const SomeComponent = () => {};
import側
import { SomeComponent } from './SomeComponent';
export defautl ~
{ }
は必要なく、任意の名前をつけれるexport側
const SomeComponent = () => {};
export default SomeComponent;
import側
import SomeComponent from './SomeComponent';
JSX
全般
{ }
で囲むことでJavascriptを記述できるreturn
( )
で囲うイベント
イベント名はキャメルケースになる
onclick
,onchange
onClick
,onChange
return ( <>
こんにちは!
おげんきですか
</> ); }
スタイル
style
属性 を記述するstyle={}
の記述になるstyle={{}}
の記述になるred
ではなく'red'
とするstyle={{ color: 'red' }}
の記述になる-
(ハイフン)は認められていないので、イベントと同様CSSのプロパティ名も全てキャメルケースとなるfont-size
ではなくfontSize
となる