{
enabled:!!id
}
when id is retrieved
오늘은 (6) 월 (27) 일 / 날씨: (덥고 습해)
한줄: 호호 새로운 신입분이 입사를 하셨다🐰귀요와귀요왕 같이 많이 배워야겠당 헿ㅎ
8 to 17
data fetching
const fetchColors = (pageNumber) =>{
return axios.get(`http://localhost:4000/colors?_limit=2&_page=${pageNumber}`)
}
const [pageNumber,setPageNumber] = useState(1);
const {isLoading,isError,error,data} = useQuery(["colors",pageNumber], ()=>fetchColors(pageNumber), {keepPreviousData:true})
<button disabled={pageNumber ===1} onClick = {()=>setPageNumber(current=>current-1)}>Prev page
<button disabled={pageNumber ===4} onClick = {()=>setPageNumber(current=>current+1)}>Next page
const fetchColors =({pageParam=1}) =>{
return axios.get(`http://localhost:4000/colors?_limit=2&_page=${pageParam}`)
}
const InfiniteQueies = () =>{
const {isLoading, isError, error, data,hasNextPage,fetchNextPage, isFetching, isFetchingNextPage } = useInfiniteQuery(['colors], fetchColors,{
getNextPageParam: (_lastPage, pages)=>{
if(pages.length<4){
return pages.length+1
}else {
return undefined
}
}
})
}
<button disabled={!hasNextPage} onClick ={fetchNextPage}>Load More</button>
<div>{isFetching && !isFetchingNextPage ? "Fetching....": null}</div>
{data?.pages.map((group,i)=> {
return (
<Fragment key={i}>
{
group.data.map(color =>(
<h2 key={color.id}>
{color.id} {color.label}
</h2>
))
}
</Fragment>
)
})
}
const addSuperHero = (hero)=>{
return axios.post('http://localhost:4000/superheroes',hero)
}
export const useAddSuperHeroData= ()=>{
return useMutation(addSuperHero)
}
const {mutate:addHero ,isLoading, isError, error } = useSuperHeroData();
const handleAddHeroClick = ()=>{
console.log({name,alterEgo});
const hero = {name, alterEgo};
addHero(hero);
}
import {useQueryCliednt} from 'react-query'
const useAddSuperHeroData =()=>{
const queryClient = useQueryClient()
return useMutation(addSuperHero, onSuccess:(data)=>{
queryClient.invalidateQueries("super-heroes")
}
)
}
handling mutation response
queryClient.invalidateQueries("super-heroes")
=> queryClient.setQueryData("super-heroes", (oldQueryData)=> {
return {
...oldQueryData, data: [...oldQueryData.data, data.data]
}
})
Every Morning / Every Evening 18시~
searching
Monday/ Wednesday(Tuesday)/ Thursday (Clarisse랑 날짜 조정하기)
Tuesday / Thursday 21 to 22
Saturday 20 to 22
테니스 이제 더워서 gg
5시 반 헬스
Free time