运用在React 中 setState
的对象、数组的操做时是不能用相似array.push()
等方法,由于push没有返回值,setState后会出现state变成Number,为了方便他人和本身查看,所以写个数组和对象的操做方法小笔记。数组
一、修改object中某项this
this.setState({ object: {...object, key: value} });
二、删除数组首位spa
array.splice(0, 1); this.setState({ array });
三、删除数组尾部code
array.splice(array.length - 1); this.setState({ array });
四、删除数组任意一项对象
array.splice(index, 1); this.setState({ array });
五、数组尾部添加一项blog
this.setState({ array: [...array, item] });
六、数组头部添加一项it
this.setState({ array: [item, ...array] });
七、数组任意位置添加一项io
array.splice(index, 0, item); this.setState({ array });
八、修改数组中任意一项中值function
function updateArrayItem(index, key, value) { this.setState({ array: array.map((item, _index) => _index == index ? {...item, [key]: value} : item) }); }
九、复杂类型修改class
this.setState(prevState => return newState);