Можете ли вы сделать набор.Укажите и добавьте элемент в верхнюю часть массива?

#reactjs #setstate

#реагирует на #установить состояние

Вопрос:

Мне было интересно, не могли бы вы добавить новый элемент в набор.Функция состояния, но вместо добавления ее в последний индекс вы добавляете ее в качестве первого элемента.

Например, у нас есть:

 data: {  "0": "name1",  "1": "name2",  "2": "name3"  }  

И я хочу добавить элемент в начало с помощью set.Состояние так выглядит вот так:

 data: { "0": "name4", "1": "name1", "2": "name2", "3": "name3" }  

Любая помощь была бы признательна, так как я искал решение в течение последних 2 часов.

Спасибо :)))

Ответ №1:

Попробуйте использовать оператор unshift и spread ( ES6 ):

 var newData = ...this.state.data; // Add name4 to first position in array newData.unshift("name4"); this.setState({data: newData}); // update state  

Или с однострочным:

 this.setState({data: ["name4", ...this.state.data]});  

Извините за возможные синтаксические ошибки, не проверял этот код.

Комментарии:

1. Спасибо за вашу помощь. Это не совсем сработало с незанятостью. Но я решил свою проблему, создав новое состояние, в котором я сохранил свое старое состояние, но только в обратном порядке. Затем я добавил новые данные и снова перевел их в свое фактическое состояние. Спасибо за ваше время, ценю это 🙂