清空元素后创建新元素报错:this.state.items.concat is not a function 求助
问题分析与解决方案
嘿,我一眼就发现问题所在啦!你遇到的this.state.items.concat is not a function报错,根源出在你的clearAll函数里:
你把items设置成了数字0:
claerAll = () => { this.setState({ items: 0 }); };
但原本items应该是数组类型,concat是数组专属的方法,数字类型根本没有这个方法,所以当你调用onAddItem里的this.state.items.concat()时,自然就抛出错误了。
解决方案
只需要把clearAll函数里的items: 0改成空数组items: []就行,修正后的代码如下:
clearAll = () => { this.setState({ items: [] }); };
这样修改后,清空操作会把items重置为一个空数组,后续调用onAddItem时,this.state.items.concat()就能正常执行,顺利添加新元素啦~
内容的提问来源于stack exchange,提问作者yongchang
相关产品推荐
相关产品推荐

