ajax 요청시
이러한 기능들이 필요할때가 있다.
직접 구현해도 되지만
react-query
를 이용해보도록 하자.
(실시간 데이터를 주고받는 사이트의 경우 유용하다고함)
npm install react-query
import { QueryClient, QueryClientProvider } from "react-query" //1번
const queryClient = new QueryClient() //2번
const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(
<QueryClientProvider client={queryClient}> //3번
<Provider store={store}>
<BrowserRouter>
<App />
</BrowserRouter>
</Provider>
</QueryClientProvider>
);
function App(){
let result = useQuery('이름', ()=>
axios.get('서버URL')
.then((a)=>{ return a.data })
)
}
{ result.isLoading && '로딩중' }
{ result.error && '에러남' }
{ result.data && result.data.name }
result라는 변수에 ajax 현재 상태가 알아서 저장됨.
로딩중일때는 .isLoading
이 true,
에러날때는 .error
이 true,
성공시엔 .data
에 데이터가 들어온다.
코딩애플 강의를 보고 작성됨