每当我单击按钮时,我都试图获取单个产品的详细信息,但在第一次单击时得到的产品详细信息是错误的,然后在第二次单击时获得正确的产品详细信息。
const updateProducts = async (e) => {
const singleProduct = await axios.get(
`https://middlemen-backend.herokuapp.com/api/product/${id}`
);
console.log(singleProduct);
setproductDetails(singleProduct);
setid(e.target.value);
setopenModal(true);
};
id和单个产品详细信息的状态。
const [productDetails, setproductDetails] = useState({});
const [id, setid] = useState(1);
下面是获得单个数据的onclick按钮
<div key={prod && prod.id}>
<button
onClick={updateProducts}
value={prod && prod.id}
>
Edit
</button>
</div>
发布于 2021-12-31 18:42:40
在axios请求之后设置id状态。您还应该使用e.target.value
作为URL:
const updateProducts = async (e) => {
const idValue = e.target.value;
setid(idValue);
const singleProduct = await axios.get(
`https://middlemen-backend.herokuapp.com/api/product/${idValue}`
);
console.log(singleProduct);
setproductDetails(singleProduct);
setopenModal(true);
};
https://stackoverflow.com/questions/70544819
复制相似问题