list數組是顯示的數據,一般查找一次之后,只顯示查找到的某個值,用setState的話,當前的list數組就只有前一次查找的數據了,想要第二次從原數組中又查詢一個數據,應該怎么寫。比如list=[1,2,3],不搜索的時候顯示1,2,3;第一次搜索1,然后要讓顯示結果只有1,setState({list:[1])},想要再搜索2,就沒有結果了
2 回答

慕勒3428872
TA貢獻1848條經驗 獲得超6個贊
原數組數據和查找結果數據分開存放,原數組數據不變
this.state = { list: [] };this.data = originData;

波斯汪
TA貢獻1811條經驗 獲得超4個贊
將搜索值和list值分開,list值保持不變
function List ({ list }) { const [filter, setFilter] = useState('') const resultList = list.filter(item => item.includes(filter)) return resultList.map(item => <li>{item}</li>) }
- 2 回答
- 0 關注
- 1126 瀏覽
添加回答
舉報
0/150
提交
取消