【发布时间】:2021-04-04 00:23:08
【问题描述】:
这个项目有多个问题,确实给我带来了问题。我现在要发布 API 密钥,以防任何人也需要尝试完成此操作,然后我会从 API 主机请求新的 API 密钥。
所以我的问题是,我调用了一个电影数据库 API,它为我提供了本周 20 部热门电影。我将该数据设置为我称为“趋势”的状态。没问题。然后我绘制了趋势图并列出了电影 ID# 的列表。我将这些保存到一个名为“movieId”的状态。这些 id 很重要,因为我需要它们来最终调用不同的端点。它需要moviesID 来返回数据,该数据为我提供了指向某人可以购买或观看电影的链接。每个电影 ID 提供者的链接列表是我的主要目标。我需要这些链接,这样我就可以为每部电影分配它的提供者链接,这样用户就可以点击电影图片并被引导到他们可以观看电影的地方。不过,我还不需要做到这一点。现在,我只需要链接。我用下面的代码尝试这个,但我得到的只是无限循环,输入错误说我 US.link 无效等。我做错了,但我不知道它是什么,请帮忙!
这里是沙盒的链接---->React Sandbox Project
import "./styles.css";
import React, { useEffect, useState } from "react";
export default function App() {
const [trending, setTrending] = useState([]);
const [movieId, setMovieId] = useState("");
const [link, setLink] = useState("");
// set trending to get the movies data.
//set movieID to get the movie ID's
//set link to get the providerlink that belongs to each movieID.
useEffect(() => {
const trendUrl =
"https://api.themoviedb.org/3/trending/movie/week?api_key=fde5ddeba3b7dec3fc1f51852ca0fb95";
fetch(trendUrl)
.then((response) => response.json())
.then((data) => {
setTrending(data.results);
})
.catch((error) => {
console.log("Error!! Data interupted!:", error);
});
}, []);
const Collection = () => {
trending.map((item) => setMovieId(item.id));
};
Collection();
function Linked() {
const url = `https://api.themoviedb.org/3/movie/${movieId}/watch/providers?api_key=fde5ddeba3b7dec3fc1f51852ca0fb95`;
fetch(url)
.then((res) => res.json())
.then((res) => console.log(res.results.US.link));
//Gives movie ID and adds it to properlink
}
return (
<div className="App">
<h1>Hello CodeSandbox</h1>
<h2>Start editing to see some magic happen!</h2>
</div>
);
}
```
【问题讨论】:
标签: javascript reactjs api jsx