【发布时间】:2021-04-02 00:06:49
【问题描述】:
我正在尝试在地图中设置一个切换开关,它通过一个按钮激活,现在我处理了卡片的每个项目之间的差异,但是有一个问题,因为状态发生了变化,我的意思是我没有更新它,状态不允许我激活几个按钮,我尝试将初始状态设为对象数组,但我无法上传数组的单个位置... 这是代码:
处理程序
//hooks
const [detail, setDetail] = useState([{
id: '',
state: false,
}]);
const handleClick = (e, id) => {
setDetail({ ...detail, id: id, state: !detail['state'] })
}
地图
<div className={Styles.wrapper}>
{
artistSales && artistSales.map(s => {
return (
<div className={Styles.align}>
<div className={Styles.card}>
<div className={Styles.order}>
<h2>Numero de orden: {s.id_order}</h2>
<p>Estado de pago: {s.state === 'fullfilled' && 'pago realizado'} </p>
<p>Cliente: {s.userId.name} {s.userId.lastname} </p>
<p>Email:
<a href={`mailto:${s.userId.email}`}>{s.userId.email}</a>
</p>
</div>
<div className={Styles.detail}>
<p>Total: ${s.total_price}</p>
<p>Fecha: {s.createdAt.slice(0, 10)}</p>
<button value={s.id_order} onClick={(e) => handleClick(e, s.id_order)} className={Styles.btn}>Ver detalles</button>
</div>
</div>
{detail.id === s.id_order && detail.state === true && <div>
hello
</div>}----> this is what should be displayed when you click the button
【问题讨论】:
标签: reactjs react-hooks toggle