【发布时间】:2021-11-24 16:46:16
【问题描述】:
我从一组对象创建了一些卡片,现在我想以不同方式显示每张卡片的弹出数据。 这是我的打印代码
{data.carData.map( single=>(<li>{ <div onClick={handleClick}><Card single={single}/></div>} </li>))}
为此,我想要卡片名称 onClick 事件,但是当我在 handleClick 反应中传递任何内容时,会引发重新渲染过多的错误。
如果我在卡片组件中执行相同的 onClick 事件并记录它会一一打印所有卡片名称 这是卡片里面的内容:
function Card({single}) {
const [flowName, setflowName] = useState();
const handleClick=(e)=>{
setflowName(e);
return
}
console.log("loging name:",flowName);
return (
<div className="main mb-2 z-0" onClick={handleClick(e=>single?.flowName)} >
<div className=" inner_main_container pt-4 px-8 bg-white shadow-lg rounded-lg ">
<div className="flex justify-between">
<div className="flex flex-row align-center">
</div>
{single?.badge.map(badge=>(
<div className={"badge"} key={badge}>
<span className={badge==="Growth"?" badgeClrG":(badge==="Content"?"content":"badgeClrO")} key={badge}>{badge}</span>
</div>
) )}
</div>
<div className="flex justify-center">
<img src={single?.image} alt={single?.flowName} />
</div>
<div >
<div className={"mt-2 flex justify-center"}>
<h1>{single?.flowName}</h1>
</div>
</div>
</div>
</div>
) } export default Card
【问题讨论】:
标签: javascript reactjs ecmascript-6 react-hooks