import React, { useRef, useEffect, useState } from 'react'; import { useLocation, Link } from 'react-router-dom'; import Notification from '../../component/notification'; import Alert from '../../component/alert'; import PageLoader from '../../component/page_loader'; import InfiniteScroll from "react-infinite-scroll-component"; const INFINITE = 10; const SCROLL_DELAY_TIME = 1500; const ParentChilds = () => { const location = useLocation(); const [notice, setNotice] = useState(localStorage.getItem('notice')); const father_id = localStorage.getItem('kiki_acc_id'); const [children_list, setChildrenList] = useState([]); const [fetch_children_list, setFetchChildrenList] = useState([]); const [loaded, setLoaded] = useState(false); const [_success, setSuccess] = useState(location.state); const [_400error, set400Error] = useState(''); const isMountedRef = useRef(true); useEffect( async () => { isMountedRef.current = false; let mounted = true; setLoaded(false); await axios.get('/api/fathers/children/listOfFather', {params: {father_id: father_id}}) .then(response => { if(!mounted) return; setLoaded(true); setNotice(response.data.notice); if(response.data.status_code==200){ setChildrenList(response.data.params); var len = response.data.params.length; if(len > INFINITE) setFetchChildrenList(response.data.params.slice(0, INFINITE)); else setFetchChildrenList(response.data.params.slice(0, len)); } else { set400Error("失敗しました。"); } }) return function cleanup() { mounted = false } }, []); const fetchMoreChildrenList = () => { setTimeout(() => { var x = fetch_children_list.length; var y = children_list.length; var c = 0; if(x+INFINITE < y) c = INFINITE; else c = y - x; setFetchChildrenList(children_list.slice(0, x+c)); }, SCROLL_DELAY_TIME); }; return (

子一覧

子追加
{ !loaded && } { loaded &&
} style={{overflow:'none', position:'relative'}} > { fetch_children_list.length>0 ? fetch_children_list.map((item, id)=>
name

{ item.last_name } { item.first_name }

{ item.company }

) :

メンバーがいません

}
} { _success && setSuccess('')}>{_success} } { _400error && set400Error('')}>{_400error} }
) } export default ParentChilds;