首页 > 解决方案 > 当调用dismiss事件时.filter,它会抛出错误并且不起作用。它说无法读取未定义的属性“过滤器”

问题描述

代码链接为:https ://gist.github.com/intern0t/f5930f19ca0f004876a605820d9530c1

我想要做的是当按下关闭按钮时,它应该过滤掉该列表。它突出显示 {list.filter(isSearched(pattern)).map((listItem) => ( 作为错误,但我不知道如何解决它

标签: reactjs

解决方案


你正在result进入state过去的状态result.hits。您需要执行以下操作:

onDismiss = (id) => {
    const filtered = this.state.result.hits.filter((item) => item.objectID !== id);

    this.setState({ result: {
        ...this.state.result,
        hits: filtered
    });
}

推荐阅读