import React, { useState, useRef, useEffect, useContext } from 'react'; import { LoadingButton } from '@material-ui/lab'; import { HeaderContext } from '../../context'; import Alert from '../../component/alert'; const AdminParentAdd = () => { const { isAuthenticate } = useContext(HeaderContext); const [email, setEmail] = useState(''); const [limit, setLimit] = useState(''); const [_422errors, set422Errors] = useState({ email: '', relation_limit: '' }); const [_400error, set400Error] = useState(''); const [_success, setSuccess] = useState(''); const [submit, setSubmit] = useState(false); const isMountedRef = useRef(true); useEffect(() => { isMountedRef.current = false; return () => { isMountedRef.current = true; } }, []) const handleSubmit = (e) => { e.preventDefault(); if(isAuthenticate()){ set422Errors({ email: '' }) setSubmit(true); const formdata = new FormData(); formdata.append('email', email); formdata.append('relation_limit', limit); axios.post('/api/admin/fathers/registerTemporary', formdata) .then(response => { if(isMountedRef.current) return; setSubmit(false); switch(response.data.status_code){ case 200: setSuccess(response.data.success_messages); break; case 400: set400Error(response.data.error_messages); break; case 422: window.scrollTo(0, 0); set422Errors(response.data.error_messages); break; } }) .catch(err=>console.log(err)) } } return (

親追加

setEmail(e.target.value)}/> { _422errors.email && { _422errors.email } }
setLimit(e.target.value)}/> { _422errors.relation_limit && { _422errors.relation_limit } }
親追加 { _400error && set400Error('')}>{_400error} } { _success && setSuccess('')}>{_success} }
) } export default AdminParentAdd;