import './SignUp.css' import { useState } from "react"; import { useForm } from "react-hook-form"; import { zodResolver } from "@hookform/resolvers/zod"; import * as z from "zod" const schema = z.object({ name: z.string(), email: z.string().email("それメアドじゃないよ"), birthday: z.coerce.date().max(new Date(), { message: "まだ生まれてないじゃん" }), language: z.string(), }) type Answer = { name: string, email: string, birthday: Date, language: string, } export const SignUp = () => { const { register, handleSubmit, reset, formState: { errors } } = useForm({ resolver: zodResolver(schema) }); const [answer, setAnswer] = useState(null); const yourAnswer = answer ? ( <>

あなたの情報です

おぬしの名前は…
{answer.name}
おぬしのメアドは…
{answer.email}
あなたの誕生日
{answer.birthday.getFullYear()}年{answer.birthday.getMonth()}月{answer.birthday.getDay()}日
おぬしの好きなプログラミング言語は…
{answer.language}
) : (<>) return ( <>

会員登録

setAnswer(data))}> {errors.name?.message} {errors.email?.message &&

{errors.email?.message}

} {errors.birthday?.message &&

{errors.birthday?.message}

} {errors.language?.message &&

{errors.language?.message}

}
{yourAnswer} ); }