discogs-app
by ellenpan
JavaScript
import React, { useState, createContext, useEffect } from "react";
export const DiscogsListContext = createContext();
export const DiscogsProvider = (props) => {
const [item, setItem] = useState([]);
const [results, setResults] = useState([]);
const [pagination, setPagination] = useState({});
const [loading, setLoading] = useState(false);
const [type, setType] = useState("artist");
useEffect(() => {
fetchData("");
}, []);
const fetchData = async (search) => {
try {
setLoading(true);
const response = await fetch(
`https://api.discogs.com//database/search?q=${search}&key=${process.env.REACT_APP_API_KEY}&secret=${process.env.REACT_APP_API_SECRET}`
);
const data = await response.json();
setLoading(false);
const pagination = data.pagination;
// console.log("p", pagination);
const results = data.results;
// console.log("resultsperpage", results);
setResults(results);
setPagination(pagination);
setItem(item);
} catch (err) {
alert(err);
}
};
const value = {
results,
setResults,
item,
setItem,
pagination,
setPagination,
fetchData,
loading,
setLoading,
type,
setType,
};
return (
<DiscogsListContext.Provider value={value}>
{props.children}
</DiscogsListContext.Provider>
);
};