【问题标题】:Can you do a set.State and add the Element to the top of the Array?你能做一个 set.State 并将元素添加到数组的顶部吗?
【发布时间】:2021-12-07 09:32:24
【问题描述】:

我一直想知道你是否可以使用 set.State 函数添加一个新元素,但不是将它添加到最后一个索引,而是将它添加为第一个元素。

例如我们有:

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

我想用 set.State 在顶部添加一个元素,所以它看起来像这样:

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

由于我在过去 2 小时内一直在寻找解决方案,因此我们将不胜感激。

谢谢:)))

【问题讨论】:

    标签: reactjs setstate


    【解决方案1】:

    尝试使用 unshift 和扩展运算符 (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]});
    

    抱歉,可能存在语法错误,未测试此代码。

    【讨论】:

    • 感谢您的帮助。它与 unshift 并没有完全配合。但是我通过创建一个新状态来解决我的问题,我保存了我的旧状态但只是倒退。然后我添加了新数据并将其再次翻转到我的实际状态。感谢您的宝贵时间,非常感谢 :)
    猜你喜欢
    • 1970-01-01
    • 2023-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多