我有一个待办事项列表应用程序,它从服务器获取数据。然后我有一个搜索子组件,它以父对象的状态作为道具,然后当您搜索某些内容时,它会过滤并更新父状态并传递新的过滤状态。
直到一切正常,但当我尝试从该搜索列表中删除某些内容,然后又搜索相同的内容时,它已经给我删除了笔记。
简而言之,当删除后其父状态已经更新时,我认为它不会更新搜索组件的道具。
我该如何解决?
我正在使用React JS)
答案 0 :(得分:0)
您需要的是componentDidUpdate
组件中的SearchBar
:
componentDidUpdate(prevProps) {
if (this.props.data !== prevProps.data) {
this.setState({data: this.props.data ,filteredData: this.props.data});
}
}
更好的解决方案是不将data
作为状态存储在SearchBar
中,只是直接从道具中访问它