【发布时间】:2022-10-23 23:01:58
【问题描述】:
我正在使用 react-router-dom,但我不明白为什么它没有渲染我的组件。
所以在我的 Home.js 组件中我得到了这个:
export default function Home() {
return (
<div>
<Routes>
<Route path="/pokemon/:name" element={<Profil />} />
<Route path="*" element={<List />} />
</Routes>
</div>
)
}
当我单击卡片(Cards.js)时,我尝试显示 Profile.js:
return (
<Container onClick={() => navigate(`/pokemon/${name}`)}>
<figure>
<img className="img" src={image} alt={name} />
</figure>
<div className="pokemon-info">
<p className="prefix">
<span>No.</span>
<span style={{ marginRight: "7px" }}>{idFormat(id, 3)}</span>
<AiOutlineInfoCircle />
</p>
<h5>{capitalizeName(name)}</h5>
<div className="abilities">
<span className={typeColor}>{type}</span>
<span className={secondTypeColor}>{secondType}</span>
</div>
</div>
</Container>
)
【问题讨论】:
-
请编辑帖子以包含实际的格式化代码 sn-ps 代替代码图片。图像无法访问并且可能更难以阅读,更重要的是,这里的用户无法复制/粘贴您的代码来使用它。见minimal reproducible example。与路线的第一个代码相比,第二个代码到底是什么?
-
你能更具体一点是什么问题吗?不确定您指的是什么组件以及什么路线
-
“当我点击卡片 (Cards.js) 时,我尝试显示 Profile.js” - 第二个代码 sn-p 是
List组件在path="*"中呈现的东西,即它正在呈现这些列表口袋妖怪对象和Container组件是可点击的?看到更完整和全面的minimal reproducible example 仍然会很高兴,这样我们就可以看到任何导航操作在什么地方以及在哪里受到影响。