В 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)
Спасибо, получайте удовольствие.
До скорого. :)