【发布时间】:2021-06-18 14:52:48
【问题描述】:
在 React 组件中,我有一个函数(在渲染组件后触发):
function getGlassesNames () {
let outputArray:string[] = getGlassesOriginal();
console.log(outputArray);
console.log(typeof outputArray);
console.log(outputArray.length);
}
console.log #1 显示 '[]'。(您可以打开它并注意到它实际上是一个带有数据的 pobated 数组)
console.log #2 显示“对象”
但是...console.log #3 显示 '0'
内部函数“getGlassesOriginal”正在从 utils.tsx 调用,内容如下:
export function getGlassesOriginal ():string[] {
let outputArray:string[] = [];
axios
.get("https://www.thecocktaildb.com/api/json/v1/1/list.php?g=list")
.then((response)=>{
let responseDataJson=response.data.drinks;
var i=0;
for (let element in responseDataJson) {
outputArray.push(responseDataJson[element].strGlass.toString());
}
}
)
return outputArray;
}
我只是不明白为什么我可以在控制台浏览器中看到 getGlassesNames 中的 outputArray 正确地使用 data (Element[index]=value) 进行了调整,但是一旦我想使用它们的值,这些值就是未定义的。
希望你能帮助我!提前谢谢!!!
【问题讨论】:
-
更好的格式会帮助你
标签: reactjs typescript axios