【问题标题】:How to add useState array as a useState List如何将 useState 数组添加为 useState 列表
【发布时间】:2020-11-19 11:09:49
【问题描述】:

我有一个来自 api 的数组,我将它存储在一个状态中,我想将该数组存储在另一个状态中作为对象列表,其中每个数组元素都是具有某个 Id 的值 IE 原始数组 = ["value1","value2"....,"value(n)"] 转换为 List = [{value: "value1", id: 1}, {value: "value2", id: 2}]

【问题讨论】:

    标签: javascript reactjs react-redux react-hooks use-state


    【解决方案1】:

    简单来说,您可以使用map() 函数。你的代码应该是这样的:

    (value, id) => ({ value, id: id + 1 })
    

    这是有效的 sn-p:

    const arr = ["value1","value2","value(n)"];
    const obj = arr.map((value, id) => ({value, id}));
    console.log(obj);

    如果您希望值是单索引,您可以这样更改:

    const arr = ["value1", "value2", "value(n)"];
    const obj = arr.map((value, id) => ({
      value,
      id: id + 1
    }));
    console.log(obj);

    【讨论】:

    • 谢谢。这是变量的解决方法,但对于状态它的工作方式不同我猜@Praveen
    • @user11832873 请出示完整代码以便我们提供帮助。
    • 您将变量存储在状态中,据我所知,Praveen 的回答是完全可以接受且正确的
    • @user11832873 我假设您希望将修改后的数组存储在其中的状态部分是列表,所以您所做的就是使用 Praveen 上面提到的 map 函数,然后您调用 setList(obj); (obj是map函数的结果)
    • 感谢@user11832873 您可以使用setValue 函数来正确设置它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-03
    • 2021-09-19
    • 1970-01-01
    • 2023-01-20
    • 1970-01-01
    相关资源
    最近更新 更多