themoviedb api 搜索电影

themoviedb api Search Movie

我卡住了。我正在使用 movie api 搜索电影。我已经完成了 api 部分。但是当我在搜索部分随机输入一个无意义的词时,我的应用程序会出错,因为没有这样的电影。我怎样才能克服这个问题?我在下面分享我的代码。

那就是电影区;

 <div>
      <h4>{movie[0].title}</h4>
      <img
        src={`${base_URL}${movie[0].poster_path}`}
        alt={movie[0].title}
      />
    </div>

那是来自

的搜索
<label>
      <span>Search Film:</span>
      <input
        type="text"
        value={search}
        onChange={(e) => setSearch(e.target.value)}
      />
    </label>

那就是州

 const [movie, setMovie] = useState([{ title: "The Matrix Resurrections" }]); 

 const [search, setSearch] = useState("The Matrix Resurrections");

movie1

movie2

myError when i type "sadsafasfas" search bar

那是因为您使用 themoviedb api 搜索“废话”值得到的响应返回一个空对象。要解决这个问题,您可以使用条件组件来检查 movie[0] 的值。你的代码可以这样写

<div>
{
   movie[0] ?
     <>
      <h4>{movie[0].title}</h4>
      <img
        src={`${base_URL}${movie[0].poster_path}`}
        alt={movie[0].title}
      /> 
     </>
       :
     <>
      <h4>Sorry, movie not found</h4> //your component if nothing returned from api
     </>
 }   
</div>