運用在React 中 setState的對象、數組的操作時是不能用類似array.push()等方法,因為push沒有返回值,setState後會出現state變成Number,為了方便他人和自己查看,因此寫個數組和對象的操作方法小筆記。 1、修改object中某項 this.setState({ ...
運用在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);