import React, { useRef, useEffect, useState, useContext } from 'react'; import { useNavigate, useParams } from 'react-router-dom'; import { HeaderContext } from '../../context'; import Notification from '../../component/notification'; import Alert from '../../component/alert'; import PageLoader from '../../component/page_loader'; const ChildParentDetail = () => { const { isAuthenticate } = useContext(HeaderContext); const navigator = useNavigate(); const params = useParams(); const [notice, setNotice] = useState(-1); const [loaded, setLoaded] = useState(false); const [parent, setParent] = useState(null); const [_400error, set400Error] = useState(''); const [_404error, set404Error] = useState(''); const [_success, setSuccess] = useState(''); const isMountedRef = useRef(true); useEffect(() => { isMountedRef.current = false; if(isAuthenticate){ setLoaded(false); axios.get('/api/children/fathers/detail/'+ params?.father_id) .then(response => { if(isMountedRef.current) return; setLoaded(true); setNotice(response.data.notice); if(response.data.status_code==200){ setParent(response.data.params); } else { set400Error("失敗しました。"); } }) .catch(err=>{ if(isMountedRef.current) return; setLoaded(true); setNotice(err.response.data.notice); if(err.response.status==404){ set404Error(err.response.data.message); } }) } return () => { isMountedRef.current = true; } },[]); return (

親詳細

{ !loaded && } { loaded && parent &&
parent-image

{parent.company}

{parent.profile ? parent.profile: '未入力'}

} { _400error && set400Error('')}>{_400error} } { _success && setSuccess('')}>{_success} } { _404error && { navigator('/c-account/parent'); }}> {_404error} }
) } export default ChildParentDetail;