The React Data Fetching
Cheatsheet
React Playground: [Link]
Use with Fetch API
import React, { useState, useEffect } from "react";
export default function App() {
const [data, setData] = useState(null);
const [loading, setLoading] = useState(true);
const [error, setError] = useState(null);
useEffect(() => {
fetch("[Link]
.then((response) => {
if ([Link]) {
return [Link]();
}
throw response;
})
.catch((error) => {
[Link]("Error fetching data: ", error);
setError(error);
})
.finally(() => {
setLoading(false);
});
}, []);
if (loading) return "Loading...";
if (error) return "Error!";
return (
<>
<img src={[Link][0].[Link]} alt="random user" />
<pre>{[Link](data, null, 2)}</pre>
</>
);
}
Use with axios
The React Data Fetching Cheatsheet 1
import React, { useState, useEffect } from "react";
import axios from "axios";
export default function App() {
const [data, setData] = useState(null);
const [loading, setLoading] = useState(true);
const [error, setError] = useState(null);
useEffect(() => {
axios("[Link]
.then((response) => {
setData([Link]);
})
.catch((error) => {
[Link]("Error fetching data: ", error);
setError(error);
})
.finally(() => {
setLoading(false);
});
}, []);
if (loading) return "Loading...";
if (error) return "Error!";
return (
<>
<img src={[Link][0].[Link]} alt="random user" />
<pre>{[Link](data, null, 2)}</pre>
</>
);
}
Use with async / await syntax
import React, { useState, useEffect } from "react";
import axios from "axios";
export default function App() {
const [data, setData] = useState(null);
const [loading, setLoading] = useState(true);
const [error, setError] = useState(null);
useEffect(() => {
getData()
}, []);
async function getData() {
await axios("[Link]
The React Data Fetching Cheatsheet 2
.then((response) => {
setData([Link]);
})
.catch((error) => {
[Link]("Error fetching data: ", error);
setError(error);
})
.finally(() => {
setLoading(false);
});
}
if (loading) return "Loading...";
if (error) return "Error!";
return (
<>
<img src={[Link][0].[Link]} alt="random user" />
<pre>{[Link](data, null, 2)}</pre>
</>
);
}
Use with Custom React Hook (useFetch)
import React from "react";
import useFetch from "react-fetch-hook";
export default function App() {
const { isLoading, error, data } = useFetch("[Link]
if (isLoading) return "Loading...";
if (error) return "Error!";
return (
<>
<img src={[Link][0].[Link]} alt="random user" />
<pre>{[Link](data, null, 2)}</pre>
</>
);
}
Use with React Query
// src/[Link]
import { StrictMode } from "react";
The React Data Fetching Cheatsheet 3
import ReactDOM from "react-dom";
import { QueryClientProvider, QueryClient } from 'react-query'
import { ReactQueryDevtools } from 'react-query/devtools'
import App from "./App";
const queryClient = new QueryClient()
const rootElement = [Link]("root");
[Link](
<QueryClientProvider client={queryClient}>
<App />
<ReactQueryDevtools />
</QueryClientProvider>,
rootElement
);
// src/[Link]
import React from "react";
import { useQuery } from "react-query";
export default function App() {
const { isLoading, error, data } = useQuery("random-user", () =>
fetch("[Link] => [Link]())
);
if (isLoading) return "Loading...";
if (error) return "Error!";
return (
<>
<img src={[Link][0].[Link]} alt="random user" />
<pre>{[Link](data, null, 2)}</pre>
</>
);
}
The React Data Fetching Cheatsheet 4