当前位置: 首页 > 知识库问答 >
问题:

反应:当用户点击市场上的一种产品时显示特定的产品数据

牟焱
2023-03-14

我已从api获取数据并成功地将数据显示在市场中。现在,当用户单击一个产品时,它应该打开产品详情页并将该产品的数据发送到详情页。我想在单击该产品时将一个产品的特定数据从Api传递到产品详情页。请帮助

这是呈现各种产品的代码

const renderitems = currentitems.map((item) => {
        return <div key={item.id} className="col-md-6">
            <div className="listing">
                <div className="listing-thumbnail">
                    <Link to="/listing-details-v1"><img src={ item.images[0]} alt="listing" /></Link>
                            

如何将单击的链接的id传递到详细信息页面

                      `

共有3个答案

方坚壁
2023-03-14

在"listing-filets-v1"页面中,您可以声明一个useState。然后使用useEffects,您可以映射“当前项目”以获取“项目”id,并在“if”条件中,如果item.id与从useParams中解构的“id”匹配,则setState“项目”。

const details, setDetails = useState([]);
const {id} = useParams(); //import from react-router-dom


useEffect(() => {
    const getDetails = currentitems.map((item) => {
      if (item.id === id) {
        return setDetails(item);
      }
    });
  }, [id]);

 return (
     <>
        <h1>{details.title}<h1/>
     </>
    )
李华茂
2023-03-14

您可以使用动态参数创建路由

孙震博
2023-03-14

很简单。您将传递产品id作为路由中的参数,并将在产品详细信息页面上获得产品id。

第1步:注册路由,如

<Route path="/listing-details-v1/:id" ..... />

步骤2:类似链接

<Link to={"/listing-details-v1/" + item.id}><img src={ item.images[0]} alt="listing" /></Link>

步骤3:获取产品详细信息页面上的参数,如组件

        import { useParams } from "react-router-dom";
        let { id } = useParams();
 类似资料:
  • 我正在研究一个模块,在ul的侧栏中有主要类别,在子类别中有一个下拉列表。我的想法是,当我单击主类别中的任何链接时,它应该在下拉列表中显示相关的子类别,当我单击子类别时,它应该在列表视图中的下拉列表中显示下面的产品详细信息。我做了所有这些,但现在正在寻找ajax为我做这件事。 我搜索了它,但大多数情况下我都找到了主类别和子类别的下拉列表,但我不需要主类别的下拉列表。发送给我一个例子或任何链接,有这整

  • 我在一家Woocommerce商店工作,该商店的产品按父类别(如品牌、颜色、大小等)组织。这些顶级类别中的每一个都有许多子类别:例如,颜色的子类别包括红色、蓝色、粉色等。 客户希望在首页和归档页的网格/循环视图中,在每个产品缩略图下方显示每个产品的品牌和尺寸(产品是鞋)。 每个产品只有一个品牌,但可能有多种尺寸。 因此,本质上,我需要知道是否有一种方法可以只显示单个产品的特定子类别的标题,如下所示

  • 是否有WooCommerce add_操作来显示完整的产品描述,这是在主文本编辑窗口中找到的文本(不是产品简短描述) 在谷歌上快速搜索后,我只能找到添加简短描述的建议。woocommerce_template_single_excerpt。 我试图在之后添加它。 灯箱php如下所示。

  • 我已经为Woocommerce开发了定制的单一产品模板,这些模板可以正常工作并符合预期。问题是,现在客户想要销售的产品有一些不同的变体,而我不知道如何添加此功能。 目前在产品页面上,我使用了the_post_thumbail()和get_post_meta()等函数来显示产品的各种信息,如价格和在产品帖子类型中输入的摘录。然后我使用do_action(woocommerce_simple_add_

  • 所以我差点就明白了,但这封电子邮件的最后一个细节让我的头脑有点纠结。 我需要显示产品的ACF(高级自定义字段)字段(在本例中,这是一个自定义发货时间) 但只有在新订单电子邮件(处理订单和等待付款订单发送到客户端),然后新订单电子邮件到管理员。 这是我发现的主要方式:“在Woocommerce交易电子邮件中显示产品ACF字段值”提前感谢@LoicTheAztec 我还向它添加了一些条件设置(请注意,