Javascript 韩元';不让我访问json对象,我缺少什么?
所以我尝试访问对象中的数组:Javascript 韩元';不让我访问json对象,我缺少什么?,javascript,arrays,json,reactjs,object,Javascript,Arrays,Json,Reactjs,Object,所以我尝试访问对象中的数组: 导出默认类应用程序扩展组件{ 建造师(道具){ 超级(道具); 此.state={ 数据:{}, 孤岛加载:正确 } }; componentDidMount(){ 取回(`https://m0n5ter-crawler.herokuapp.com/api/articles/`, { 方法:“获取”, }) 。然后(res=>res.json(res)) 。然后(res=>{ 这是我的国家({ data:res.\u embedded.articles,//这是我输
导出默认类应用程序扩展组件{
建造师(道具){
超级(道具);
此.state={
数据:{},
孤岛加载:正确
}
};
componentDidMount(){
取回(`https://m0n5ter-crawler.herokuapp.com/api/articles/`, {
方法:“获取”,
})
。然后(res=>res.json(res))
。然后(res=>{
这是我的国家({
data:res.\u embedded.articles,//这是我输入对象数组的地方
孤岛加载:false
})
})
.catch((错误=>{
控制台错误(err);
}));
}
render(){
常数{
孤岛,
数据
}=(本州);
控制台日志(数据);
}
}
这是我在控制台日志中得到的:
(1000) [{…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, …]
[0 … 99]
0: {groups: Array(1), date: "2015-12-03", url: "https://www.scmagazine.com", title: "", _links: {…}}
1: {groups: Array(1), date: "2018-10-19", url: "https://www.scmagazine.com/", title: "", _links: {…}}
2: {groups: Array(1), date: "2018-06-26", url: "https://www.scmagazine.com", title: ""
[100 … 199]
[200 … 299]
[300 … 399]
[400 … 499]
[500 … 599]
[600 … 699]
[700 … 799]
[800 … 899]
[900 … 999]
length: 1000
__proto__: Array(0)
map
不是函数,forEach
是未定义的
,
我试图对其执行键值操作,但该值返回了我[object object]
或未定义的
我缺少什么?您将数据作为对象启动{}
,第一次渲染从初始状态获取数据
this.state = {
data: {},
isLoading: true
}
将其更改为数组
this.state = {
data: [],
isLoading: true
}
欢迎来到堆栈溢出!请拿着(你有一个徽章!),四处看看,并通读,特别是我还推荐Jon Skeet的。你的代码不使用map
或forEach
。您需要提供一个(并修复代码中的空白,这真的很难阅读)没有更多信息很难帮助您,但有一件事会跳出来,那就是您似乎希望从获取调用(res.\u embedded.articles
)中得到一个数组,您在您的状态下将其设置为数据,但是您的初始状态是{}
,一个非数组对象。因此,您至少应该将数据的初始状态更改为[]
(空数组)。但是,除此之外,很难提供帮助,而且我不希望您在isLoading
是真的时使用数据
。。旁注:这不是问题,但您的代码是问题的牺牲品(这是我贫血的小博客上的一篇文章)。在调用json()
之前,您应该检查HTTP是否成功。我可以和您争论:)我怎么会错过呢?我不知道。。我甚至不知道你错过了什么;)现在对你有用吗?我的荣幸:)祝你好运。