react hooks。点击商品跳转到详情页
时间: 2023-11-30 21:23:36 浏览: 166
要实现点击商品跳转到详情页的功能,你可以使用React Router库来管理路由。首先,你需要在你的应用程序中安装React Router,然后在你的代码中导入它。
然后,你可以创建一个商品列表组件,这个组件会显示所有的商品。在这个组件中,你可以使用React Router的Link组件创建每个商品的链接,这个链接会在被点击时跳转到对应的商品详情页。例如:
```jsx
import { Link } from "react-router-dom";
function ProductList({ products }) {
return (
<div>
{products.map(product => (
<div key={product.id}>
<h2>{product.name}</h2>
<p>{product.description}</p>
<Link to={`/products/${product.id}`}>View details</Link>
</div>
))}
</div>
);
}
```
这个Link组件会渲染成一个a标签,当它被点击时,React Router会在应用程序的URL中添加商品ID,例如"/products/123",并加载相应的商品详情组件。
接下来,你需要在你的应用程序中定义路由规则,以告诉React Router应该在哪些URL上加载哪些组件。这可以在应用程序的根组件中完成,例如:
```jsx
import { BrowserRouter as Router, Switch, Route } from "react-router-dom";
function App() {
return (
<Router>
<Switch>
<Route path="/products/:productId">
<ProductDetails />
</Route>
<Route path="/">
<ProductList products={...} />
</Route>
</Switch>
</Router>
);
}
```
这个例子中,我们定义了两个路由规则,一个是匹配"/products/:productId"的,另一个是匹配根路径"/"的。当URL匹配到这些规则时,React Router会加载相应的组件。
希望这可以回答你的问题!
阅读全文