3 回答

TA貢獻1836條經驗 獲得超5個贊
首先,您需要在 Heros 映射組件上創建 onClick 事件,然后將其傳遞給 history,在 app.js 中推送和創建路由,然后將傳遞的路徑作為 match.params。.....
<div>{heroes.map(hero =>(
<Heroes onClick={() => onHeroClick(hero)}
image = {hero.thumbnail.path+'.jpg'}
title ={hero.name}
/>
))}
</div>
const onHeroClick = (hero) => {
// hero must have a unique id/name here which u can pass to the link
history.push('/heros/' + hero.name)}
在 app.js 上
<Route path={'/hero/:heroname} />
在顯示英雄詳細信息的新組件上:
const Component2 = ({match}) => {
match.params.heroname = a unique id/name u sent withhistory.push('/heros/' + hero.name)

TA貢獻1839條經驗 獲得超15個贊
"Id like to know how can I manipulate the api ..."
我認為您需要為此查看 Marvel API 文檔。
根據我的經驗,API 通常帶有特定的模式。舉例來說,我們有一個圖書館書籍的 API:
點擊
/books
URL 意味著您將獲得圖書館中的所有書籍。結果肯定是array of objects
. 就像你和英雄們所擁有的一樣。點擊
/books/43
URL 意味著您將獲得某本書的詳細信息。在這里,它的書 ID 等于 43。結果應該是一個對象,其中包含該書的所有信息。這就是您正在尋找的。
我沒有使用也沒有閱讀過 Marvel API,但我相信它應該在文檔中。
要在您的 React App 中實現它,您絕對可以使用Sushilzzz中的示例。

TA貢獻1895條經驗 獲得超7個贊
好吧,如果你想顯示另一個關于英雄細節的頁面,你可以通過路由 ex 傳遞英雄的名字:http://marvelheros/TonyStark 你可以通過編程重定向。 https://dev.to/projectescape/programmatic-navigation-in-react-3p1l
另一種方法是您可以使用彈出窗口來顯示英雄詳細信息
添加回答
舉報