【问题标题】:Cannot read property 'includes' of undefined react checkbox filter无法读取未定义反应复选框过滤器的属性“包含”
【发布时间】: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


    【解决方案1】:

    答案很简单。

    我换了这个

    const newState = currState.filter(article => article.tags_array.includes(e.target.name));
    

    到这里

    const newState = currState.filter(article => article.tags_array ? article.tags_array.includes(e.target.name) : null);
    

    我的一个对象根本没有标签数组。

    【讨论】:

    • 哇哦。同样的问题,我在自己的阵列中也没有意识到。好笑。谢谢!
    • 虽然我遇到了不同的问题,但它确实有效。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-07-14
    • 1970-01-01
    • 2021-12-26
    • 2021-06-03
    • 2019-07-26
    • 2021-12-21
    • 1970-01-01
    相关资源
    最近更新 更多