【发布时间】:2021-12-31 03:29:11
【问题描述】:
所以我创建了一个movie-db应用程序,我想在Top Rated、Popular等不同类别之间切换。我试图通过将状态设置为单击的文本值来做到这一点稍后用于形成要获取的完整 url。
这是我的代码:
App.js
import Movie from "./components/Movie";
import requests from "./components/ApiRequest";
import Navbar from "./components/Navbar";
function App() {
return (
<div className="App">
<Navbar />
<div className="movie-container">
<Movie fetchUrl={requests.fetchTrending} />
</div>
</div>
);
}
export default App;
Navbar.js
import React, { useState } from 'react'
import SearchBar from './SearchBar'
import { FiFilter } from 'react-icons/fi'
import requests from "../components/ApiRequest";
const Navbar = () => {
const [category, setCategory] = useState('Trending')
return (
<div className="navbar-container">
<button className="navbar-btn"><FiFilter />Filter</button>
<div className="categories">
<button onClick={() => setCategory("Trending")}>Trending</button>
<button onClick={() => setCategory("Popular")}>Popular</button>
<button onClick={() => setCategory("TopRated")}>Top Rated</button>
<button onClick={() => setCategory("Upcoming")}>Upcoming</button>
</div>
<SearchBar />
</div>
)
}
所以我想在函数外部从Navbar.js 获取category 的值并在此处使用它<Movie fetchUrl={requests.fetch{category} />,以便我可以从请求中获取该url
【问题讨论】:
-
我在其他地方有一个类似问题的答案,这可能会有所帮助:How to set one component's state from another component in React,干杯!