首页 > 解决方案 > 尝试使用“推送”将对象条目创建为空数组。根本行不通

问题描述

我在一个 React 组件上有这个函数,它从 AWS API 获取数据并将其返回到一个对象上。

我尝试将对象中接收到的数据转换为数组。

获取数据的函数是listUsers.

然后我使用了推送方法。但不管我做什么,如果我记录typeoffromdata或者array它继续返回一个对象。

这是完整的代码:

import { Auth, API } from 'aws-amplify'
import { useState, useEffect } from 'react'

export default function Users() {
    const listUsers = async () => {
    const apiName = 'AdminQueries'
    const path = '/listUsers'
    const params = {
      headers: {
        'Content-Type': 'application/json',
        Authorization: `${(await Auth.currentSession())
          .getAccessToken()
          .getJwtToken()}`,
      },
    }
    return await API.get(apiName, path, params)
  }

  const usersArray = async () => {
    const response = await listUsers()

    var array = []

    for (const item of response.Users) {
      array.push(item)
    }

    setData(array)
    console.log(array)
    console.log(typeof array)
  }

  useEffect(() => usersArray(), [])

  return <></>
}

问题是我需要它成为一个数组,因为我需要使用 Map 使组件以我想要的方式呈现数据。

有小费吗?

标签: javascriptarraysreactjsobjectarray-push

解决方案


JavaScript 中几乎所有的东西都是对象。

只有 — nullundefinedstringsnumbersbooleansymbols不是对象。


推荐阅读