В React мы все используем setState для обновления состояния. У меня возникла проблема с обновлением состояния массива Object до пустого массива состояний.

Вот так, исходное состояние.

this.state = {cars: []}

мне пришлось обновить состояние до массива таких объектов.

var carArray = [{name: ‘Ford’, price: 15000}, {name: ‘toyota’, price: 12000}, {name: ‘Rover’, price: 14000}]

Я использовал это, чтобы обновить свое состояние.

this.setState({
  cars: [ this.state.cars, carArray ]
})

Но в этом была небольшая проблема. Я просто вставлял объект в пустой массив по второму индексу.

Итак, есть небольшая проблема, я не могу просто нанести на них прямую карту. У меня тоже есть указатель.

this.state.car[1].map((data, i) => (
<ul key={i}>
<li> {data.name} </li>
<li> {data.price} </li>
</ul>

затем я нашел Синтаксис распространения. Я видел по нему какой-то учебник. тогда я понял, что это действительно то, что мне нужно для легкого копирования и отображения. Итак, вместо этого я использовал это ..

this.setState({
  cars: [ ...this.state.cars, ...carArray ]
})

и да ... именно то, что мне нужно ...

Теперь я могу легко нанести на них карту !!

на самом деле произошло то, что в предыдущем случае у меня есть дополнительный индекс 0. Теперь у меня нет. затем я заявил, что поиграю с другими вариантами и посмотрю, что происходит.

this.setState({
  cars: [ ...this.state.cars, carArray ]
})

а также

this.setState({
  cars: [ this.state.cars, ...carArray ]
})

для этих двоих я получил это,

и это,

Вы видите на фотографиях, что происходит?

я надеюсь, что да.

для хуков: обновление

setCar (… автомобиль,… carArray)

Спасибо, получайте удовольствие.

До скорого. :)