input tag
に Change Event Handler
を指定する。
export default function UploadFile() {
const [formState, setFormState] = useState<File>();
const onFileInputChange = async (event: React.ChangeEvent<HTMLInputElement>) => {
const { files } = event.currentTarget;
if (files === null)
return;
const file = files[0];
setFormState(file);
}
return (
<input
type="file"
onChange={onFileInputChange}
/>);
}
form で選択した file が FileList
型で files プロパティの中に入っている。
input type
が file
以外の時、event.currentTarget.files
は null
になる。