我正在嘗試過濾平面串列中的資料,但出現此錯誤:

這是我的代碼:
const [custData, setCustData] = useState([]);
const [searchFilter, setSearchFilter] = useState('');
<FlatList
data={custData.filter(item => {
if (searchFilter === '') {
return item;
} else if (
item.partyname
.toString()
.toLowerCase()
.includes(searchFilter.toLowerCase())
) {
return item;
}
})}
keyExtractor={({id}, index) => id}
renderItem={({item, index}) => (
<Text style={{color: '#ffffff'}}>{item.partyname}</Text>
)}
/>
uj5u.com熱心網友回復:
與其對dataa進行更改,不如對FlatLista作為引數進行更改,并將值設定為您的狀態并呈現該狀態。useEffectcustData
代碼應如下所示
const [custData, setCustData] = useState([]);
const [searchFilter, setSearchFilter] = useState('');
const toFilterData = async () => {
return await custData?.filter(item => {
if (searchFilter === '') {
return item;
} else if (
item.partyname
.toString()
.toLowerCase()
.includes(searchFilter.toLowerCase())
) {
return item;
}
});
}
useEffect(() => {
setSearchFilter(toFilterData());
}, [custData])
<FlatList
data={searchFilter}
keyExtractor={({id}, index) => id}
renderItem={({item, index}) => (
<Text style={{color: '#ffffff'}}>{item.partyname}</Text>
)}
/>
嘗試使用可選鏈接將在未來有所幫助。
謝謝 :)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/511637.html
上一篇:為什么我不能創建第二個表?
