React 中 setState的对象、数组的操作时是不能用类似array.push()等方法

运用在React 中 setState的对象、数组的操作时是不能用类似array.push()等方法,因为push没有返回值,setState后会出现state变成Number,为了方便他人和自己查看,因此写个数组和对象的操作方法小笔记。 

 // 1、修改object中某项

this.setState({
  object: {...object, key: value}
});
  // 2、删除数组首位

array.splice(0, 1);
this.setState({
  array
});
  // 3、删除数组尾部

array.splice(array.length - 1);
this.setState({
  array
});
  // 4、删除数组任意一项

array.splice(index, 1);
this.setState({
  array
});
  // 5、数组尾部添加一项

this.setState({
  array: [...array, item]
});
 //  6、数组头部添加一项

this.setState({
  array: [item, ...array]
});
  7、数组任意位置添加一项

array.splice(index, 0, item);
this.setState({
  array
});
 // 8、修改数组中任意一项中值

function updateArrayItem(index, key, value) {
  this.setState({
    array: array.map((item, _index) => _index == index ? {...item, [key]: value} : item)
  });
}
//  9、复杂类型修改

this.setState(prevState => return newState);
发布了270 篇原创文章 · 获赞 102 · 访问量 50万+

猜你喜欢

转载自blog.csdn.net/hahahhahahahha123456/article/details/104922711