import { useRef, useEffect, useState } from 'react'; import { CircularProgress } from '@material-ui/core'; import { LoadingButton } from '@material-ui/lab'; import Notification from '../notification'; import Alert from '../../component/alert'; import { useHistory } from 'react-router'; const ProfileEdit = () => { const history = useHistory(); const [notice, setNotice] = useState(localStorage.getItem('notice')); const father_id = document.getElementById('father_id').value; const [company, setCompany] = useState(''); const [email, setEmail] = useState(''); const [tel, setTel] = useState(''); const [profile, setProfile] = useState(''); const [params, setParams] = useState(null); const [_success, setSuccess] = useState(''); const [_400error, set400Error] = useState(''); const [_404error, set404Error] = useState(''); const [_422errors, set422Errors] = useState({ company: '', email:'', tel:'', profile:'' }) const [loaded, setLoaded] = useState(false); const [submit, setSubmit] = useState(false); const isMountedRef = useRef(true); useEffect(() => { isMountedRef.current = false; setLoaded(false); axios.get(`/api/fathers/detail/${father_id}`) .then(response => { setLoaded(true); setNotice(response.data.notice); if(response.data.status_code==200) { setParams(response.data.params); setCompany(response.data.params?.company); setEmail(response.data.params?.email); setTel(response.data.params?.tel); setProfile(response.data.params.profile ? response.data.params.profile: ''); } else { set400Error("失敗しました。"); } }) .catch(err=>{ setLoaded(true); setNotice(err.response.data.notice); if(err.response.status==404){ set404Error(err.response.data.message); } }) }, []); const handleSubmit = (e) => { e.preventDefault(); set422Errors({ company:'', email: '', tel: '', profile:'' }); const request = { company: company, email: email, tel: tel, profile: profile } setSubmit(true); axios.put(`/api/fathers/updateProfile/${father_id}`, request) .then(response => { setNotice(response.data.notice); setSubmit(false); switch(response.data.status_code){ case 200:{ history.push({ pathname: '/p-account/profile', state: response.data.success_messages }); break; } case 400: set400Error(response.data.error_messages); break; case 422: set422Errors(response.data.error_messages); break; } }); } return (