ReactJS中状态数组的正确修改我想在state数组,这是正确的方法吗?this.state.arrayvar.push(newelement);this.setState({arrayvar:this.state.arrayvar});我担心用push可能会惹麻烦-安全吗?另一种方法是复制数组,以及setState看起来很浪费。
3 回答
慕虎7371278
TA贡献1802条经验 获得超4个赞
把它当作是不可变的状态。
push
componentDidUpdate
this.setState(prevState => ({ arrayvar: [...prevState.arrayvar, newelement]}))
更早版本的替代语法
concat
this.setState({ arrayvar: this.state.arrayvar.concat([newelement])})
this.setState({ arrayvar: [...this.state.arrayvar, newelement]})
鸿蒙传说
TA贡献1865条经验 获得超7个赞
ES6
.
initialArray = [1, 2, 3];newArray = [ ...initialArray, 4 ]; // --> [1,2,3,4]
[1,2,3,4]
this.setState({ arrayvar:[...this.state.arrayvar, newelement] });
收到一只叮咚
TA贡献1821条经验 获得超4个赞
ES6
:
this.setState(prevState => ({ array: [...prevState.array, newElement]}))
添加回答
举报
0/150
提交
取消