试图将数组中的信息获取到组件上!不知道我在做什么错!请救救我。下面是我的东西
所以我从Firebase获取了数据,然后对它进行了处理
function snapshotToArray(snapshot) {
var returnArr = [];
snapshot.forEach(function(childSnapshot) {
var item = childSnapshot.val();
//item.key = childSnapshot.key;
returnArr.push(item);
});
return returnArr;
};
export function allMyPropertiesDetailsFetch(currentscreen) {
console.log("Called the property details");
const { currentUser } = firebase.auth();
console.log("gotthuser");
console.log(firebase.database().ref(`/properties/`));
var propertyref = firebase.database().ref(`/properties/`).orderByChild('userid').equalTo(currentUser.uid);
propertyref.once('value', snapshot => {
if (snapshot.exists()) {
var Property = snapshotToArray(snapshot);
// console.log('Property: '+Property);
currentscreen.setState({
propertyinfo: Property
});
} else {
// console.log('There is no user who has email like '+ email)
}
})
}
我的数组看起来为[{“ aptNumber”:“”,“ city”:“”,“昵称”:“”,“浴室数量”:“ 2”,“浴室数量”:“ 1”,“州”:“ “,” streetName“:”“,” streetNumber“:”“,” typeof“:”公寓“,” userid“:” sb7Hj93D08XiaRguQ4cbSjz4vXC3“}]。照这样称呼它仍然无效。 var people = JSON.parse(JSON.stringify(this.state.propertyinfo)); console.log(persons);
让add_buttons_goes_here = people.map((data,index)=> { 返回( ///传入删除按钮的psedo代码作为子代 this._handleRemoveButton(data.key)} /> ) });
答案 0 :(得分:1)
像这样设置数组。
domain.com/#/search
答案 1 :(得分:0)
您正在处理的Json似乎无效。您如何生成此json对象。如果您是在服务中生成此json的人,请尝试创建有效的json响应。 我格式化了您的格式如下:
[ec2-user@ip-172-31-xx-164 for-buildserver]$ ./launch-buildserver
-bash: ./launch-buildserver: Permission denied
如果您从其他方使用此json,则必须通过将其保留为String的方式进行一些操作,但这不是执行/解析json响应的干净方法。
答案 2 :(得分:0)
弄清楚了伙计们
我在宣布 this.state { propertyinfo:''}
应该在什么时候 propertyinfo:[]