Javascript React-从API返回数据
我知道也有类似的问题,但我找不到答案 首先,如果我真的做错了什么,请告诉我 我需要用API调用中的数据填充我的状态。这在上面的代码中运行良好:Javascript React-从API返回数据,javascript,reactjs,ecmascript-6,axios,Javascript,Reactjs,Ecmascript 6,Axios,我知道也有类似的问题,但我找不到答案 首先,如果我真的做错了什么,请告诉我 我需要用API调用中的数据填充我的状态。这在上面的代码中运行良好: export const GetPlanets = async () => { const planets = await axios.get(`${BASE_URL}`).catch((e) => { console.error(e); }) return planets.data.r
export const GetPlanets = async () => {
const planets = await axios.get(`${BASE_URL}`).catch((e) => {
console.error(e);
})
return planets.data.results
}
但是,我需要从一个json响应文件中再次调用多个链接,我成功地使其工作(但不知道这是否是正确的方法)
这是我的组件文件,我尝试在其中获取对象,就像我以前做的那样
useEffect(() => {
const fetchPlanetas = async () => { // ME TRYING...
const planetas = await GetPlanets()
setPlanetas(planetas)
setToShow(planetas[0])
};
fetchPlanetas()
}, [])
但我得到的只是未定义的
您将得到一个未定义的
数组,因为.map()
需要返回值。在.map()
回调中,您没有返回任何内容
const results=[1,2,3,4]
const results2=results.map(elem=>{
元素=元素+1
})
console.log(results2)
在第一个代码块中,您将数据获取的结果分配给名为planets
的const
,然后返回planetas.data.results
,但planetas
未在该范围内声明。我想那是打字错误吧?如果没有,这可能是您看到的问题的线索……是的,这是一个输入错误,我不再使用此代码。首先,我建议迁移到fetch,以及whatwg fetch polyfill。axios或任何其他库都不再需要试图找出AJAX的混乱。特别是如果您正在使用ES6概念,如const
和let
和fetch
json,它就像const-response=wait-fetch('my_-url')一样简单;const result=wait response.json()
一位老师说axios主要被公司使用(至少在我的国家),这就是为什么我使用itso,我无法像我正在尝试的那样将电影“附加”到planets response/object上?我不确定你想要的输出是什么以及你的数据结构是什么,但我相信有办法解决这个问题。是的,它现在起作用了,我更新了问题。非常感谢。
useEffect(() => {
const fetchPlanetas = async () => { // ME TRYING...
const planetas = await GetPlanets()
setPlanetas(planetas)
setToShow(planetas[0])
};
fetchPlanetas()
}, [])