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