我在一個React組件上有這個函式,它從AWS API中獲取資料并將其回傳到一個物件中。
我嘗試將物件中收到的資料轉換為陣列。
獲取資料的函式是listUsers。
然后我使用了推送方法。但是不管我怎么做,如果我從data或array中記錄typeof,它就繼續回傳一個物件。
這里是完整的代碼:
import { Auth, API } 來自 '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來使組件以我想要的方式呈現資料。
有什么提示嗎?
uj5u.com熱心網友回復:
JavaScript中幾乎所有的東西都是一個物件。
只有--null、undefined、strings、numbers、boolean、symbols不是物件。
uj5u.com熱心網友回復:
你的檢查是錯誤的。你應該使用array instance of Array來確認它是否是一個陣列型別。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/306929.html
標籤:
上一篇:<p>大家好,預先感謝你們的幫助。</p> <p>所以我想找到一個二維陣列中的最高數字。 以下是代碼:</p> <p></p>。
