【问题标题】:ReactJS Hooks Update an Array with another ArrayReactJS Hooks 用另一个数组更新一个数组
【发布时间】:2020-09-24 12:10:18
【问题描述】:

我想用另一个数组更新一个空数组, 我真的不知道该怎么做,

const [avatar, setAvatar] = useState([]);

我想用另一个这样的数组更新空数组:

PlayerService.getAvatars()
                    .then(response => {
                        setAvatar(avatar => [...avatar, response])
                    })

这里的问题是,我从响应中得到的 4 个项目, 它们将被设置为头像数组的第一个元素,而不是多个,

这意味着,我在 avatar[0] 下,所有项目都放在一起,它们不会像应有的那样分开。

希望你能关注我,我不是以英语为母语的人

【问题讨论】:

  • 如果响应是数组,请尝试setAvatar(response)

标签: arrays reactjs react-hooks


【解决方案1】:

如果你想像这样组合两个数组,你可以连接数组。

PlayerService.getAvatars()
    .then(response => {
        let arr1 = avtar;
        let arr2 = response;
        let arr3 = arr1.concat(arr2);
        setAvatar(arr3)
    })

【讨论】:

  • 这很奇怪,在 arr3 中都是元素,但是如果我先 setAvatar 然后 console.log 它,它仍然是空的 .. o.O
  • 这是异步操作。在返回之前对其进行控制台并再次检查。
  • 啊,完美,我不知道它是异步的......,所以最后我可以做 setAvatar(response) ,但感谢所有信息,它帮助我解决了我的问题跨度>
猜你喜欢
  • 1970-01-01
  • 2021-10-16
  • 2021-12-09
  • 2018-06-28
  • 1970-01-01
  • 2013-01-01
  • 1970-01-01
  • 2012-12-16
  • 2021-08-30
相关资源
最近更新 更多