这是我的firebase抓取功能,我将其存储到inboxMessages
变量。
inboxMessageFetch(mobileNumber) {
return firebase.database().ref(`${mobileNumber}/inbox`)
.on('value', snapshot => {
console.log('FB', snapshot.val());
this.inboxMessages = snapshot.val();
});
}
以下是从Firebase服务器收到的firebase结果。
Array [
undefined,
Object {
"from": "Joseph's",
"fromId": 123456,
"message": "Hello this is important!",
"time": "10:20AM",
},
Object {
"from": "Anglo",
"fromId": 123,
"message": "This message is a test message",
"time": "10:30PM",
},
]
我使用getter函数获取inboxMessages
值getInboxMessages
。
我想在ListView
<List>
{
this.props.inboxStore.getInboxMessages.map((l, i) => (
<ListItem
key={i}
leftIcon={{ name: 'user-circle-o', type: 'font-awesome', style: {color: 'blue'} }}
title={l.from}
titleStyle={{color: 'red'}}
subtitle={l.message}
rightTitle='11:00am'
rightTitleStyle={{color: 'green'}}
/>
))
}
</List>
答案 0 :(得分:2)
更改数据库数据的处理:
this.inboxMessages = snapshot.val();
要:
this.inboxMessages = snapshot.val().filter(v => v);
这将消除undefined
之类的任何虚假值,您将不会遇到这种错误。