【发布时间】:2019-07-27 01:12:08
【问题描述】:
我正在关注这个过滤数据的示例link。 但我对包含功能有疑问。
const updateArticles = (e) => {
if(e.target.name){
if(e.target.checked){
const currState = [...this.state.defaultData];
const newState = currState.filter(article => article.tags_array.includes(e.target.name));
this.setState(prevState =>({
articles: prevState.selectedArticles.length >= 1 && prevState.articles.length <=
prevState.defaultData.length ? [...newState, ...prevState.selectedArticles] : newState,
selectedArticles: [...newState, ...prevState.selectedArticles]
}));
} else {
if (this.state.articles.length === 1){
this.setState({ articles: this.state.defaultData, selectedArticles: [] });
} else{
const currState = [...this.state.articles];
const newState = currState.filter(articles => !(articles.tags.tid.includes(parseInt(e.target.name))));
this.setState(prevState => ({
articles: newState,
selectedArticles: []
}));
}
}
}
};
标签数组[ 0:“130” 1:“231” 2:“232” 3:“233” 4:“226” ]
e.target.name = "130"
我在 const newState 中遇到类型错误,说无法读取未定义的属性“包含”
【问题讨论】:
标签: reactjs checkbox filter typeerror