我有來自后端的串列。我想遍歷這個串列的所有元素,如果它沒有狀態 6,則隱藏按鈕。
回復
從傳入串列中的回應回傳。不會總是這樣。它可以有 7 個元素。
policyInstallmentDtoList: Array(1)
0:
amount: 291
currency: "TRY"
date: "10-02-2022"
installmentNumber: 1
status: "3"
我正在嘗試遍歷此處的串列。
useEffect(() => {
if (paymentInfoData?.policyInstallmentDtoList?.forEach((e) => e['status'] !== '6')) {
setHiddenControlButtonClass('hidden');
}
}
html
<div className={hiddenControlButtonClass}>
<AS.Button variant="outlined" onClick={handlePayment}>
Devam
</AS.Button>
</div>
uj5u.com熱心網友回復:
您可以使用Array.some
它是 JS 陣列原型中的一個內置方法,它回傳一個boolean值,該值表示陣列中的至少一個成員是否回答您的條件。
useEffect(() => {
if (!paymentInfoData?.policyInstallmentDtoList?.some(e => e.['status'] === '6') {
setHiddenControlButtonClass('hidden');
}
}
這應該可以正常作業,并且只設定一次狀態,
這對性能更好。
uj5u.com熱心網友回復:
您不需要將forEach方法放在if陳述句中。
useEffect(() => {
paymentInfoData?.policyInstallmentDtoList?.forEach((e) => {
if (e.status !== '6') {
setHiddenControlButtonClass('hidden');
}
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/491302.html
標籤:javascript 反应 反应式
