試圖為我正在構建的專案構建一個過濾器。我想決議從后端 API 獲得的 JSON,根據“位置”過濾掉職位并顯示它。
useEffect(async () => {
let condition = await getJobs();
switch (jobCondition) {
case 'On-site': condition.filter((condition.jobLocation === 'in_person'));
break;
case 'Remote': condition.filter((condition.jobLocation === 'remote'));
break;
case 'Hybrid': condition.filter((condition.jobLocation === 'hybrid'));
break;
default:
condition = null;
}
if (condition != null) {
const params = new URLSearchParams({
jobs: jobFilter || null,
location: locationFilter || null,
since: datePosted || null,
conditions: condition.data,
});
history.push({ pathname: '/', search: `${params.toString()}` });
return;
}
const params = new URLSearchParams({
jobs: jobFilter || null,
location: locationFilter || null,
since: null,
conditions: null,
});
history.push({ pathname: '/', search: `${params.toString()}` });
}, [jobCondition]);
我顯然在這里做錯了,因為它甚至沒有改變我的 URL 引數。
uj5u.com熱心網友回復:
您需要傳遞一個帶有一個引數的回呼函式作為第一個引數,然后回傳一個布林值:
condition.filter((con) => con.jobLocation === 'in_person');
順便說一句,如果要獲取過濾后的陣列,則需要重新分配condition或分配給另一個變數。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/493892.html
標籤:javascript 反应 网址
