mapping 相关问题

将给定集合的每个元素对应于另一个集合的唯一元素,或者它可以指在两个不同数据模型(对象)之间创建数据元素映射的过程

映射数组 prop 后获取多个重复值,然后将映射的值作为 prop 传递给 React 中的另一个组件

我正在使用 React 和 Material ui,但我遇到了这个奇怪的错误。 我有一个父订单页面,然后将订单数组传递给订单组件,如下所示: 我正在使用 React 和 Material ui,但我遇到了这个奇怪的错误。 我有一个父订单页面,然后将订单数组传递给订单组件,如下所示: <PendingComponent {...{pendingOrders}} /> 然后在 PendingComponent 中我像这样映射订单数组: <Box m="1rem 0 0 0"> {pendingOrders?.map((order, index) => ( <Accordion key={index} 在这个手风琴内部,还有另一个组件,一个模态,我将订单作为道具传递给它,如下所示: {updateSatus && ( <UpdateOrderStatusModal {...{ order }} /> )} 现在,当我尝试访问 UpdateOrderStatusModal 组件中的订单值时,发生了奇怪的事情,我没有得到我应该期望的映射订单值的正确值。 像这样,在 PendingComponent 组件中,我当前仅映射 3 个订单,然后将订单传递给 UpdateOrderStatusModal 组件,而不是获取单个订单,而是在我控制台日志时依次打印它们,并且我无法获取我想要进入 UpdateOrderStatusModal 的实际订单: UpdateOrderStatusModal.jsx:27 The order in the modal {status: 'pending', userEmail: '[email protected]', dateCreated: 'Wed, August 16, 2023 at 6:14 PM', step: 0, orderProducts: {…}, …} UpdateOrderStatusModal.jsx:27 The order in the modal {status: 'pending', userEmail: '[email protected]', dateCreated: 'Wed, August 16, 2023 at 6:14 PM', step: 0, orderProducts: {…}, …} UpdateOrderStatusModal.jsx:27 The order in the modal {status: 'pending', userEmail: '[email protected]', dateCreated: 'Wed, August 16, 2023 at 5:15 PM', step: 0, orderProducts: {…}, …} UpdateOrderStatusModal.jsx:27 The order in the modal {status: 'pending', userEmail: '[email protected]', dateCreated: 'Wed, August 16, 2023 at 5:15 PM', step: 0, orderProducts: {…}, …} UpdateOrderStatusModal.jsx:27 The order in the modal {status: 'pending', userEmail: '[email protected]', dateCreated: 'Wed, August 16, 2023 at 5:08 PM', step: 0, orderProducts: {…}, …} UpdateOrderStatusModal.jsx:27 The order in the modal {status: 'pending', userEmail: '[email protected]', dateCreated: 'Wed, August 16, 2023 at 5:08 PM', step: 0, orderProducts: {…}, …} 我违反了哪些 React 规则?为什么我会出现这种行为? 谢谢你。 更新 - 详细的可重现代码 我在不同的项目中重新创建了相同的问题并遇到了相同的问题。这是该组件的代码。 将一些项目添加到收藏夹后,我为用户提供了一个收藏夹产品页面: <ul role="list" className="-my-6 divide-y divide-gray-200" > {products.map((product) => ( <li key={product.id} className="flex py-6"> <div onClick={() => { setOpenFavourites(false); navigate(`/product/${product.id}`); }} className="hover:cursor-pointer h-24 w-24 flex-shrink-0 overflow-hidden rounded-md border border-gray-200" > <img src={product.images[0]} alt={product.imageAlt} className="h-full w-full object-cover object-center" /> </div> <div className="ml-4 flex flex-1 flex-col"> <div> <div className="flex justify-between text-base font-medium text-gray-900"> <h3> <button onClick={() => { setOpenFavourites(false); navigate( `/product/${product.id}` ); }} > {product.name} </button> </h3> <p className="ml-4"> $ {product.price} </p> </div> <p className="mt-1 text-sm text-gray-500"> {product.availability} </p> </div> <div className="flex flex-1 items-end justify-between text-sm"> <p className="text-gray-500"> Min Order{" "} <span className="text-gray-800"> {product.minOrder} Tonne </span> </p> <div className="flex"> <button type="button" onClick={() => handleRemove(product.id) } className="font-medium text-primary hover:text-secondary" > Remove </button> </div> <div className="flex"> <button type="button" onClick={() => setOpen(true)} className="font-medium text-primary hover:text-secondary" > Open this Modal </button> </div> {open && (<TestModal product={product} />)} </div> </div> </li> ))} </ul> 在上面的代码中,如果底部有测试按钮“打开此模态”及其下方的测试模态,则将映射的产品作为道具传递给它。 现在这是 TestModal 代码: import React from 'react' const TestModal = ({product}) => { console.log("test modal mounted", product.name) const investigate = () => { console.log("investigate clicked", product.name, product.id) } return ( <> <div className="justify-center items-center flex overflow-x-hidden overflow-y-auto fixed inset-0 z-50 outline-none focus:outline-none"> <div className="relative w-auto my-6 mx-auto max-w-3xl"> <div className="border-0 rounded-lg shadow-lg relative flex flex-col w-full bg-white outline-none focus:outline-none"> <div className=" items-center justify-end p-6 border-t border-solid border-slate-200 rounded-b" > <button className="text-red-500 background-transparent font-bold uppercase px-6 py-2 text-sm outline-none focus:outline-none mr-1 mb-1 ease-linear transition-all duration-150" type="button" onClick={investigate} > Investigate </button> </div> </div> </div> </div> <div className="opacity-25 fixed inset-0 z-40 bg-black"></div> </> ) } export default TestModal 现在在此模式上,假设我在 Potatoes 产品上单击了“打开此模式”,在测试模式中,当我单击“调查”按钮时,我希望将 Potato 产品信息控制台登录到该调查功能中,但这并没有发生,我打印了不同的产品信息,例如草莓,如果我将草莓作为我最喜欢的产品之一,喜欢它总是选择位于映射数组底部的产品,而不是那个我真的点击了。 我还注意到,当我使用模态(显示在其他组件之上的模态组件)时,会发生这种行为,当我使用没有某种 z 索引属性的组件时,它不会执行这种奇怪的行为。 我该如何解决这个问题? 我没有发现您的代码有任何问题(特别是因为信息有限......)。不过,按照你说的—— ...当我控制台日志时,它们都被一个接一个地打印出来 假设您在开发环境中使用严格模式,这是完全正常的。在初始渲染期间重新渲染两次应该可以帮助您更快地找到错误,而 React 只在开发模式下这样做。 违反此规则的组件会出现不可预测的行为并导致错误。为了帮助您意外发现不纯的代码,严格模式会在开发过程中调用您的一些函数(仅那些应该是纯的函数)两次。 https://react.dev/reference/react/StrictMode

回答 1 投票 0

XSLT 根据节点值拆分 XML

我想通过 XSLT 转换根据节点的值拆分 XML。 ZO03 <

回答 1 投票 0

通过映射模板将 SourceIp 附加到 AWS Step Function 输入

我一直在尝试在触发之前通过映射模板将 sourceIp 添加到我的步骤函数输入中。 基本上, 前: { "输入": "{\"uuid\":\"12345\",\&q...

回答 1 投票 0

在公共地图中保存多少数据才算过多?

所以我知道,对于更大的数据,我们不会使用合约来保存数据,而是使用某种外部数据库。 但我不确定多大才算太大以及会发生什么......

回答 1 投票 0

如何在数组的数组中获取对象

如何获取数组中的对象?我变得不确定 我的数组 = [ [{名称:test1,用户名:sampleuser1}], [{名称:test2,用户名:sampleuser2}], [{名称:test3,用户名:

回答 1 投票 0

Javascript 返回对象数组中的名字和姓氏 getaccountfullname

常量帐户 = [ { id:“5f446f2ecfaf0310387c9603”, 图片:“https://api.adorable.io/avatars/75/[email protected]”, 年龄:25岁, 姓名: { 第一:“以斯帖”, 最后:“...

回答 1 投票 0

在 C# 中将 XML 元素动态映射到 JSON 字段

我有一个 XML 文档,还有一个映射配置,指定如何将 XML 元素映射到 JSON 字段。 XML 结构和映射可以改变,我需要一种动态的方法

回答 1 投票 0

map'对象不是映射——为什么python会返回这样的异常

我认为这可能是一个英语语法问题,但我仍然想理解为什么 python会说map操作的结果不是映射吗? 在[60]中:a=[1,2,3,4] 在[61]中:b=['a','b','c',...

回答 1 投票 0

你可以创建多个依赖表,第一个有外键吗

我将 ER 模式映射到关系数据库模式,之后我在 SQL 中创建了表,但我不能,因为它们都有外键。 我想知道我的映射有什么问题...

回答 1 投票 0

如何用c#中的值更改类

我正在执行一项任务,我正在执行数据库调用并获取数据,然后将其映射到类对象。 公开课政策请求 { 公共字符串标题{获取;放; } 噗...

回答 2 投票 0

如何将特定元素的字典值映射到新的数据框列?

我有一个字典,每个键都有 2 个值: 迪克 = { 'AR':['阿肯色州',804], 'CA':['加利福尼亚',223] } 我正在尝试将字典值映射到数据框中名为 co 的新列...

回答 1 投票 0

使用 Jackson 注解 @JsonTypeInfo 和 @JsonSubTypes 时出现错误

大家好,我在向邮递员提出请求时收到以下错误 org.springframework.core.codec.DecodingException:JSON解码错误:无法将类型id“4”解析为com的子类型。

回答 1 投票 0

如何在 asp.net MVC 中映射 2 个不同的列表

我试图将列表从控制器发送到视图。我以为它会绑定,但它是一种不同的类型,所以不会。 (错误:参数类型“System.Collections.Generic.List”不可分配给...

回答 3 投票 0

考虑在配置中定义“org.modelmapper.ModelMapper”类型的bean

应用程序无法启动 Kodlama.io.Devs.business.concretes.ProgrammingLanguageManager 中构造函数的参数 1 需要类型为“org.modelmapper.ModelMapper”的 bean,但无法找到。

回答 3 投票 0

Pandas 使用字典中的列表重新映射列中的值

我有一个包含“SUBCATEGORY”列的数据框,我正在尝试使用字典添加一个新列“CATEGORY”来定义每个子类别的汇总方式。 test_df = pd.DataFrame({'SUBCATEGORY': ['gree...

回答 1 投票 0

为传单地图添加标题

我有一个简单的问题,但仍然不知道如何找到答案。我所需要的只是为传单地图添加一个标题。我不需要它在地图上,就在它上面,就像在通常的 ggplot m 中一样......

回答 1 投票 0

流畅的断言 - 断言具有相同名称但不同类型的属性

断言不同类型的属性时,我收到此(预期)错误: 预期属性 a.Date 为 System.String,但发现为 System.DateTime。 我想断言圣...

回答 1 投票 0

elasticsearch 索引映射未更新

我正在尝试更新elasticsearch索引的映射。 我的 ES 索引中的属性之一的当前映射是。 `“映射”:{ “特性”: { “名字&

回答 1 投票 0

如何在 JPA 中映射复合主键

@Table(姓名=“学生”) 公开课学生{ @ID @GenerateValue(策略 = GenerationType.AUTO) @Column(名称=“id”) 私人长ID; @Column(名称 = "

回答 1 投票 0

有没有办法在ArcGIS中找到边界一侧一定距离内的点数?

我正在处理卢旺达学校的大约 3,000 个 GPS 坐标,并将它们映射到区级形状文件。我想弄清楚每个区 1 公里范围内有多少所学校......

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.