为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

DIEA 2023-06-15 09:44:19
我对 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])


查看完整回答
反对 回复 2023-06-15
  • 1 回答
  • 0 关注
  • 105 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信