#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. Спасибо за вашу помощь. Это не совсем сработало с незанятостью. Но я решил свою проблему, создав новое состояние, в котором я сохранил свое старое состояние, но только в обратном порядке. Затем я добавил новые данные и снова перевел их в свое фактическое состояние. Спасибо за ваше время, ценю это 🙂