использовать concat вместо es6 распространения при добавлении массива объекта в реаги - PullRequest
0 голосов
/ 25 июня 2018

будет работать под кодом?Видел где-то, не уверен, почему автор сделал это

this.setState({
  messages: this.state.messages.concat({
    text: 'new message'
  })
})

Обычно я сделаю

this.setState({
  messages: [
    ...this.state.messages,
    {text: 'new messages'}
  ]
})

, какой из них подходит?

1 Ответ

0 голосов
/ 25 июня 2018

Либо работает.concat более широко поддерживается, но если вы используете реагирование, вы все равно, скорее всего, будете использовать его, верно?Так что, какой бы ни был более читабельным для вас.Я предпочитаю синтаксис распространения, так как он короче.

Оба просто делают мелкие копии.То есть объект массива является новой ссылкой, но любые объекты в массиве являются той же ссылкой (и типы значений копируются, как обычно).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...