目次
React v17以前
React v17以前では、以下のサンプルのように「VFC」を使用してPropsを渡していました。
また、初期値などのdefaultPropsで設定していました。
import React, { VFC } from "react"; import styles from "./index.module.css"; const Button: VFC<Props> = ({ title, onClick }) => { return ( <button className={styles.button} onClick={onClick}>{title}</button> ); }; type Props = { title: string; onClick?: () => void; }; const defaultProps: Props = { title: "", onClick: () => undefined, }; Button.defaultProps = defaultProps; export default Button;
React v18以降
React v18以降では、「VFC」などが、非推奨になったため、以下のように修正する必要があります。
また、初期値に関しても、「defaultProps」が非推奨になるため、修正しています。
※「非推奨
」というだけなので、v18時点では、VFCなどを使用したままでも良いですが、今後を考えると修正しておいても良いかもしれません。
import styles from "./index.module.css"; const Button = ({ title = "", onClick = () => undefined }: Props) => { return ( <button className={styles.button} onClick={onClick}> {title} </button> ); }; type Props = { title: string; onClick?: () => void; }; export default Button;