Reactjs 反应类型错误:无法读取属性';结果';未定义的

Reactjs 反应类型错误:无法读取属性';结果';未定义的,reactjs,Reactjs,TypeError:无法读取CardList中未定义的属性“结果”。js:11 import React,{useffect,useState}来自“React”; 从“./卡”导入卡; 从“/Config”导入{API_URL、API_密钥、图像_BASE_URL}; 函数CardList(){ const[Movies,setMovies]=useState([]); useffect(()=>{ const endpoint=`${API_URL}电影/流行?API_key=${API_k

TypeError:无法读取CardList中未定义的属性“结果”。js:11

import React,{useffect,useState}来自“React”;
从“./卡”导入卡;
从“/Config”导入{API_URL、API_密钥、图像_BASE_URL};
函数CardList(){
const[Movies,setMovies]=useState([]);
useffect(()=>{
const endpoint=`${API_URL}电影/流行?API_key=${API_key}&language=en-US&page=1`;
获取(端点)
.then(response=>response.json())
.then(response=>console.log(response.results))
.then(response=>setMovies([response.results]))
.catch(err=>console.log(err))
}, [])
返回(
{
Movies&&Movies.map((movie,i)=>{
})
}
);
}
导出默认卡片列表;
我不知道为什么
console.log(response.results)
result是

Array(20)
0: {adult: false, backdrop_path: "/9yBVqNruk6Ykrwc32qrK2TIE5xw.jpg", genre_ids: Array(4), id: 460465, original_language: "en", …}
1: ...
length: 20
__proto__: Array(0)
我认为你的错误来自这一行

.then(response=>setMovies([response.results]))
这是由上面这条线引起的

.then(response=>console.log(response.results))
因为您没有返回下一个
.then()
的响应对象数据
console.log
setMovies([response.results])
中调用时不会返回任何内容,因此当您尝试使用
response
设置状态时,
response
未定义

我相信去掉那条线应该可以解决这个问题。如果您想保留
console.log
调用,那么我会

fetch(端点)
.then(response=>response.json())
。然后(响应=>{
console.log(response.results);
setMovies([response.results]);
})
.catch(err=>console.log(err))
}, [])
我认为您的错误来自这一行

.then(response=>setMovies([response.results]))
这是由上面这条线引起的

.then(response=>console.log(response.results))
因为您没有返回下一个
.then()
的响应对象数据
console.log
setMovies([response.results])
中调用时不会返回任何内容,因此当您尝试使用
response
设置状态时,
response
未定义

我相信去掉那条线应该可以解决这个问题。如果您想保留
console.log
调用,那么我会

fetch(端点)
.then(response=>response.json())
。然后(响应=>{
console.log(response.results);
setMovies([response.results]);
})
.catch(err=>console.log(err))
}, [])

您正在使用
console.log(response.results)
打印数组对象。
要仅打印数组的内容,请尝试使用如下扩展运算符
console.log([…response.results])
您正在使用
console.log(response.results)
打印数组对象。 要仅打印数组的内容,请尝试使用如下扩展运算符
console.log([…response.results])