【发布时间】:2020-06-10 22:47:15
【问题描述】:
我有一个从电影 API 获取数据的应用。它从第 1 页返回 20 个项目。 我将如何添加分页功能并允许用户单击增加页码值并从该页面返回项目的按钮?
这是我的 API 调用:
export const API_KEY = process.env.REACT_APP_MOVIES_API;
export const baseURL = 'https://api.themoviedb.org/3/movie/';
export const language = '&language=en';
export const region = '®ion=gb';
export const currentPage = 1;
export const fetchTopRatedMovies = async () => {
try {
const response = await fetch(
`${baseURL}top_rated?api_key=${API_KEY}${language}&page=${currentPage}${region}`
);
const data = await response.json();
console.log('TOP RATED', data);
return data;
} catch (err) {
console.log(err);
}
};
我想我需要根据请求将 1 添加到 currentPage 但我不确定如何设置。
函数在 React 函数组件中使用 useEffect 调用。
const [apiData, setApiData] = useState([]);
const [isLoading, setLoading] = useState(false);
const { results = [] } = apiData;
useEffect(() => {
setLoading(true);
fetchTopRatedMovies().then((data) => setApiData(data));
setLoading(false);
}, []);
【问题讨论】:
-
不要从 process.env 中提取 API_KEY。
标签: javascript reactjs react-hooks