reactjs - React Router 5 - history.push() 不会渲染组件 - 没有错误
问题描述
我正在尝试使用useHistory()
和渲染新组件useRouteMatch()
并将数据作为道具history.push()
向下传递ProductCard
到该新组件。更改 URL,但页面上没有呈现任何内容。当我使用和访问道具时也会发生同样的情况。谁能帮帮我?谢谢!!!BeerDetails
history.push()
withRouter
history
match
const ProductCard = ({ beer }) => {
//REMOVED STUFF FOR BREVITY
let match = useRouteMatch({
path: "/:beerId",
url: "/",
});
let history = useHistory();
const { name, tagline, abv, first_brewed, image_url, price, id } = beer;
return (
<div className="product-card">
<div className="product-card-inner">
<div
className="product-info-container"
onClick={() => history.push(`/${id}`)} // THIS ONE SEEMS TO WORK
>
<h1 className="beer-name">{name}</h1>
<p className="beer-type">{tagline}</p>
<p className="beer-alcohol">{abv}%</p>
<p className="first-brewed">First brewed: {first_brewed}</p>
</div>
<div className="beer-image-container">
<img src={image_url} alt="beer" />
</div>
<div className="price-container">
<h1>£{price}</h1>
</div>
<div className="form-container">
<form onSubmit={onSubmit}>
//REMOVED FOR BREVITY
</form>
</div>
</div>
{match ? <BeerDetails beer={beer} /> : null} // THIS IS NOT DOING ANYTHING
</div>
);
};
export default ProductCard;
我试图遵循本指南: https ://reacttraining.com/blog/react-router-v5-1/
解决方案
推荐阅读
- python - 在 Keras 训练期间动态更改损失函数,无需重新编译优化器等其他模型属性
- vba - 如何从 excel 工作簿中获取价值以在 Web 表单保管箱中查找内容
- spring - 访问此资源需要 Spring OAuth2 完整身份验证
- javascript - 如何在 javascript 中访问该数组
- go - 如何在redis golang中将键值对传递给MSet?
- node.js - Cognito 登录 MFA 短信验证问题
- java - 分配给在方法中声明的类变量,没有实例化对象
- .net - 无法使用“RenderBody”.NET CORE 获取子视图 html 内容?
- android - 找不到 com.android.databinding:compiler.3.4.0
- api - 带有axios的mern api路由