【问题标题】:duplicate entry while using push on array在数组上使用推送时重复条目
【发布时间】:2026-02-04 17:10:01
【问题描述】:

合作者已经包含 3 个数据,我正在尝试推送一个应该先来的用户。当我尝试使用 console.log() 时,我感到很困惑,我得到了 3 个响应值而不是一个。如下图所示;它引用了第 25 行并打印了 trice。 但是,当我推送给协作者时,我期待一个值,但我得到了两个数据值推送给协作者。我只想要一个。我花了几个小时试图弄清楚我做错了什么。拜托,我不知道怎么做,这就是我在这里发帖的原因。

const resData = async() => {
      const res = await directus.users.me.read()
      const result = res.data
      console.log(result)
      collaborators.push(result)
      }
      resData()

【问题讨论】:

  • directus.users.me.read() 是做什么的
  • 请给我们更多代码,以便我们为您提供帮助。您可以使用codesandbox.io
  • directus.users.me.read() - 读取当前登录的用户。单个用户的所有详细信息都列在 console.log() 中
  • @BartKrakowski 我很想这样做,但代码有点复杂,因为 Directus 设置等。从问题中很清楚,我正在通过 directus.users.me 读取当前用户.read() 并将其推送到相同对象的协作者数组中

标签: reactjs directus


【解决方案1】:

我终于用useEffect解决了。

useEffect(() => {
   const resData = async() => {
  const res = await directus.users.me.read()
  const result = await res.data
  collaborators.unshift(result)
  }
  resData()
},[collaborators])

【讨论】: