Javascript ReactJS:使用spread元素更新状态

Javascript ReactJS:使用spread元素更新状态,javascript,reactjs,Javascript,Reactjs,我收到一个语法错误,我不知道为什么: 当前状态如下所示: people: [{ id: 1, firstName: 'Eric', lastName: 'Andrews', }, { id: 2, firstName: 'Rick', lastName: 'Handsome', }, { id: 3, firstName: 'Yoni', lastName: 'Andrews', }], addNewFriend() {

我收到一个语法错误,我不知道为什么:

当前状态如下所示:

people: [{
    id: 1,
    firstName: 'Eric',
    lastName: 'Andrews',
}, {
    id: 2,
    firstName: 'Rick',
    lastName: 'Handsome',
}, {
    id: 3,
    firstName: 'Yoni',
    lastName: 'Andrews',
}],

addNewFriend() {
    this.setState({
        people: {
            [...this.state.people, {
                id: this.state.idIncrementor + 1,
                firstName: this.state.newPerson['newFirstName'],
                lastName: this.state.newPerson['newLastName'],
            }]
        },
        newPerson: ''
    })
}


Syntax error: Unexpected token (156:26)

  154 |         this.setState(
  155 |             {
> 156 |                 people: {[...this.state.people, 
      |                           ^
  157 |                     {
  158 |                         id: this.state.idIncrementor +1, 
  159 |                         firstName: this.state.newPerson['newFirstName'],
我想合并
this.state.people
和一本新词典
people
是当前的词典列表,我想添加一个新词典


我做错了什么?

你错过了
是数组,不是对象,所以

people: {[...this.state.people,
应该是

people: [...this.state.people, 

你没有注意到
是一个数组,而不是一个对象,所以

people: {[...this.state.people,
应该是

people: [...this.state.people, 

{[]}
只是无效的JavaScript。不能将对象文字放在这样的对象文字中。它与扩展元素无关。
{[]}
只是无效的JavaScript。不能将对象文字放在这样的对象文字中。它与传播元素无关。