目次
ディレクトリ構造
コンポーネント部分のディレクトリ構造は以下とします。
~/TextField
┣ index.tsx
┗ index.module.css
index.tsx
「index.tsx」には以下を記載します。
テキストフィールドとチェンジイベントの処理のみ用意しています。
import { ChangeEvent } from "react";
import styles from "./index.module.css";
const TextField = ({
type = "text",
placeholder = "",
onChange = (e) => undefined,
}: Props) => {
return (
<input
className={styles.text}
type={type}
placeholder={placeholder}
onChange={onChange}
/>
);
};
type Props = {
type?: string;
placeholder?: string;
onChange?: (event: ChangeEvent<HTMLInputElement>) => void;
};
export default TextField;
index.module.css
「index.module.css」には以下を記載します。
内部には、テキストフィールドのCSSを任意で記載します。
.text {
~~~任意のCSS~~~
}
コンポーネントの呼び出し方
利用する箇所で、以下の様にインポートします。
※「~」の部分は環境によって修正してください。
import TextField from "~/TextField";
以下の様に記載することで、コンポーネントを呼び出す事ができます。
<TextField type="text" placeholder="プレースホルダー" onChange={() => console.log('change'} />