我对 reactjs 很陌生。我试图在对象数组上应用过滤器,该过滤器首先工作正常,但是当我按退格键时出现问题,列表没有根据搜索字符串更新。代码 在这里。
1 回答
HUH函数
TA贡献1836条经验 获得超4个赞
问题在于 setState 函数的异步性质。在您的过滤器方法中,您预计它已经更新了两行,但它可能仍在更新过程中。不管怎样,筛选原始列表不是更容易吗?
useEffect(() => {
if(search === ''){
setbllist(arr);
}
if(search !== ''){
setbllist(arr.filter(bl => {
let name = bl.name.toLowerCase();
return name.includes(search.toLowerCase())
}));
}
},[search])
添加回答
举报
0/150
提交
取消