import React, { useState, useEffect, useRef } from 'react'; import { useNavigate } from 'react-router-dom'; import { LoadingButton } from '@material-ui/lab'; import Alert from '../../../component/alert'; const ChildSignUpTemporary = () => { const navigator = useNavigate(); const [tel, setTel] = useState(''); const [submit, setSubmit] = useState(false); const [loaded, setLoaded] = useState(false); const [_400error, set400Error] = useState(''); const [_422errors, set422Errors] = useState({tel:''}); const [_success, setSuccess] = useState(''); const isMountedRef = useRef(true); useEffect(() => { isMountedRef.current = false; setLoaded(true); return () => { isMountedRef.current = true; } }, []) const handleSubmit = (e) => { e.preventDefault(); set422Errors({tel:''}); const formdata = new FormData(); formdata.append('tel', tel); if(document.getElementById('father_token')){ let father_id = document.getElementById('father_token').value; formdata.append('father_id', father_id); } setSubmit(true); axios.post('/api/children/registerTemporary', formdata) .then(response => { if(isMountedRef.current) return; setSubmit(false); switch(response.data.status_code){ case 200: setSuccess("SMSに本登録案内のメッセージを送信しました。本登録を行ってください。"); break; case 400: set400Error(response.data.error_messages); break; case 422: window.scrollTo(0, 0); set422Errors(response.data.error_messages); break; }; }) } if(!loaded) return null; else return (

仮登録手続き

setTel(e.target.value)} autoFocus/> { _422errors.tel && {_422errors.tel} }
仮登録送信 { _400error && set400Error('')}>{_400error} } { _success && setSuccess('')}>{_success} }
) } export default ChildSignUpTemporary;