无法在React组件中显示来自获取的序列化api的信息

我正在开发一个Web应用程序,该应用程序可以根据用户搜索从api获取音乐会。但是,由于我想添加和保存来自不同用户的音乐会的属性,因此我决定,当用户单击单个音乐会的链接时,a)保存到数据库,然后b)呈现单个卡组件为了那场音乐会。但是,在单个卡中呈现的数据不是来自外部api的数据,而是从我自己的数据库获取的数据,以便填充用户输入的额外属性。本身就已经很痛苦。现在,这就是问题所在:由于某种原因,每当我尝试显示来自两个级别的redux状态的数据时,就像concerts.attributes.venue一样,我得到了TypeError: Cannot read property 'venue' of undefined。对于我拥有的任何嵌套属性,都会发生这种情况。有关更多上下文,我使用钩子从我的功能Concert组件中的db中获取数据。我还尝试将其转换为具有生命周期方法的类组件,但存在相同的问题。我的一部分认为这是获取的异步特性,即在整个序列化数据返回之前进行数据渲染?我不确定。有人知道如何纠正这个问题吗?

colinhmj429 回答:无法在React组件中显示来自获取的序列化api的信息

共享代码片段以更好地理解。仅凭您的文字来可视化代码有点困难。

您将从Api获得一些数据作为响应。您需要将该数据存储到某个变量。像这样

在JS中调用XHR并存储对var x的响应

let x;
function successListener() {  
var data = JSON.parse(this.responseText);   //to parse the data to json format
x=data;
}

function failureListener(err) {  
  console.log('Request failed',err);  
}
var request = new XMLHttpRequest();  
request.onload = successListener;  
request.onerror = failureListener;  
request.open('get','URL',true);  
request.send();

然后像这样访问所需的数据:

x[key][subkey] 

不知道您在这里做什么

concerts.attributes.venue
本文链接:https://www.f2er.com/3097727.html

大家都在问