Javascript 使用Firebase数据反应本机显示平面列表
正在尝试获取FlatList以显示来自Firebase的数据。 设置是正确的,我可以在控制台中看到日期,但不知道如何可视化它 我想在列表中看到“recipeOne”和“recipeThree”。 我肯定我错过了一些基本的东西 这是密码Javascript 使用Firebase数据反应本机显示平面列表,javascript,reactjs,react-native,Javascript,Reactjs,React Native,正在尝试获取FlatList以显示来自Firebase的数据。 设置是正确的,我可以在控制台中看到日期,但不知道如何可视化它 我想在列表中看到“recipeOne”和“recipeThree”。 我肯定我错过了一些基本的东西 这是密码 ... import {DataConfig} from '../data/DataConfig'; const firebaseApp = firebase.initializeApp(DataConfig); globalTexts = require('
...
import {DataConfig} from '../data/DataConfig';
const firebaseApp = firebase.initializeApp(DataConfig);
globalTexts = require('../styles/Texts.js');
globalColors = require('../styles/Colors.js');
export default class ListSort extends Component {
constructor(props) {
super(props);
this.dataItem = firebaseApp.database().ref('recipes');
this.state = {
item: []
}
};
componentWillMount() {
this._createItemList();
};
_createItemList = (dataItem) => {
this.dataItem.on('value', (snapshot) => {
var itemList = [];
snapshot.forEach((doc) => {
itemList.push({
key:doc.key,
itemType: doc.toJSON()
});
this.setState({item: itemList});
console.log(this.state.item);
})
})
};
render() {
return (
<View style={styles.container}>
<FlatList
data={this.state.item}
renderItem={({item, index}) => (
<View style={styles.cell}>
<Text style={globalText.btnFlatPrimary}>{item.recipes}</Text>
</View>
)}
/>
</View>
)
}
}
我认为您需要提供更多关于返回数据的详细信息。现在,您似乎正在尝试引用
item.recipes
,但item只有key和itemType作为属性。请尝试在renderItem
中记录item的内容,这将对console.log(this.state.item)有所帮助代码>@MattyK14你说得对,我没有编辑完引用。现在应该没事了,我不确定firebase快照到底是如何工作的已经有一段时间了,但希望这个小吃能帮你一点忙:@CladClad谢谢,我可以在控制台中看到数据,但不确定如何显示它。
{
"recipes": {
"recipeOne": {...
"recipeTwo": {...
"recipeThree": {...
}
}