在反应中按退格键时过滤器不起作用

我对 reactjs 很陌生。我试图在对象数组上应用过滤器,该过滤器首先工作正常,但是当我按退格键时出现问题,列表没有根据搜索字符串更新。代码 在这里。



DIEA
浏览 116回答 1
1回答

HUH函数

问题在于 setState 函数的异步性质。在您的过滤器方法中,您预计它已经更新了两行,但它可能仍在更新过程中。不管怎样,筛选原始列表不是更容易吗?  useEffect(() => {    if(search === ''){      setbllist(arr);    }    if(search !== ''){      setbllist(arr.filter(bl => {        let name = bl.name.toLowerCase();        return name.includes(search.toLowerCase())              }));    }  },[search])
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript