[英]React Native Firebase Set Up
I am trying to grab data from my firebase DB within my react native application. 我正在尝试从我的本机应用程序中的Firebase数据库中获取数据。
I have it set up correctly (as far as I can see) but when the application renders I don't see any data. 我已经正确设置(据我所知),但是当应用程序渲染时,我看不到任何数据。
I have a component FirebaseList.js 我有一个组件FirebaseList.js
const firebaseConfig = {
**Details**
};
firebase.initializeApp(firebaseConfig);
const data = [];
class FirebaseList extends Component {
constructor(props) {
super(props);
this.ds = new ListView.DataSource({ rowHasChanged: (r1, r2) => r1 !== r2 });
this.state = {
listViewData: data,
};
}
render() {
return (
<List
dataSource={this.ds.cloneWithRows(this.state.listViewData)}
renderRow={data =>
<ListItem>
<Text>{data}</Text>
</ListItem>
}
/>
);
}
}
I call this component elsewhere - my export is set up correctly as are my imports. 我将此组件称为其他组件-导出设置正确,导入也设置正确。
Thanks in advance. 提前致谢。
You should fetch data from firebase in componentDidMount()! 您应该在componentDidMount()中从firebase中获取数据!
import firebase from 'firebase'; class FirebaseList extends Component { constructor(props) { super(props); this.ds = new ListView.DataSource({ rowHasChanged: (r1, r2) => r1 !== r2 }); this.state = { listViewData: [], }; } componentWillMount() { const firebaseConfig = { **Details** }; firebase.initializeApp(firebaseConfig); } componentDidMount() { firebase.database().ref('/path/datas/').once('value', snapshot => { const dataArray = []; const yourDatas = snapshot.val(); for(let data in yourDatas){ dataArray.push(data) } this.setState({ listViewData: dataArray }); }) } render() { return ( <List dataSource={this.ds.cloneWithRows(this.state.listViewData)} renderRow={data => <ListItem> <Text>{data}</Text> </ListItem> } /> ); } }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.