在下面的代碼中,我使用 if-else 速記條件更新了 react 鉤子。為了準確理解這一點,我嘗試在正常的 if-else 條件下撰寫它,但我不能。這個速記條件的等價情況是什么?
這是作業代碼。
const [array, setArray] = useState([]);
function addProduct(product){
const ProductExist = array.find((item) => item.id === product.id);
setArray(
array.map((item) =>
item.id === product.id
? { ...ProductExist, quantity: ProductExist.quantity 1 }
: item
)
);
}
這是我根據其他主題的解決方案嘗試的。但它給出了錯誤。
setTestArray(array.map((item) => {
return if(item.id === product.id){
return { ...ProductExist, quantity: ProductExist.quantity 1 }
}else{
return item
}
}
uj5u.com熱心網友回復:
setArray(
array.map((item) =>
if(item.id === product.id){
return { ...ProductExist, quantity: ProductExist.quantity 1 }
} else {
return item
}
)
uj5u.com熱心網友回復:
你有額外的回報
應該是這樣的:
setTestArray(array.map((item) => {
if(item.id === product.id){
return { ...ProductExist, quantity: ProductExist.quantity 1 }
}else{
return item
}
}))
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/370141.html
標籤:javascript 反应 if 语句
下一篇:從字串中提取第一次出現
