반응형
react-query 목록 호출 (GET) 및 재 호출 테스트
(참고한 페이지 :https://tanstack.com/query/v4/docs/react/examples/react/pagination)
import styles from './styles.module.scss';
import React, { useState } from 'react';
import { useQuery } from '@tanstack/react-query';
importaxiosfrom 'axios';
export default function Study() {
const [imageNumber, setImageNumber] = useState<number>(1);
async function getCategorys(imageNumber = 0) {
const { data } = awaitaxios.get(
`https://dummyjson.com/products/${imageNumber}`,
);
return data;
}
const {
data: dataCategory,
isLoading: categoryLoading,
isError: categoryError,
} = useQuery({
queryKey: ['category', imageNumber],
queryFn: () => getCategorys(imageNumber),
});
if (categoryLoading) {
return <p>로딩중</p>;
}
if (categoryError) {
return <p>에러 발생</p>;
}
console.log(dataCategory, imageNumber);
function changeData() {
setImageNumber(Math.floor(Math.random() * 10 + 1));
}
return (
<div className={styles.study}>
<div>
<button onClick={changeData}>변경</button>
{dataCategory.images.map((image, index) => {
return (
<p key={index}>
<img key={index} src={image} />
</p>
);
})}
</div>
</div>
);
}
'Front-end 개발 > JAVASCRIPT' 카테고리의 다른 글
HTML문서 소스에서 원하는 HTML만 추출하는 기능 테스트 (DOMParser, parser.parseFromString 활용) (0) | 2023.01.11 |
---|---|
jotai 유틸 atomWithStorage 활용하여 session storage 적용 테스트 (0) | 2023.01.11 |
react-query 목록 추가 (POST) 및 수정 (PUT) 테스트 (0) | 2023.01.11 |
Delete `␍` prettier/prettier 에러 발생 시 eslintrc.json 수정 (0) | 2023.01.11 |
개발자 도구 console warning 비 노출 처리 (ES6 + typescript 사용 중일 경우) (0) | 2023.01.11 |