我正在构建一个React Native应用程序,需要将Firebase Firestore数据库中的所有用户数据放入一个列表。我不确定如何使用所有更新的React本机代码执行此操作,因为所有其他堆栈溢出问题都无法回答此问题,并且我在其他地方也找不到任何帮助。 我用于获取React本机数据的代码是:
state = {
data: []
};
unsubscribe = null;
componentDidMount() {
const user = this.props.uid || Fire.shared.uid;
const list = [];
this.unsubscribe = Fire.shared.firestore
.collection("users")
.doc(data)
.onSnapshot(doc => {
list.push(data);
});
this.setState({
data: list
)};
}
componentWillUnmount() {
this.unsubscribe();
}
数据库结构是用户具有名称和电子邮件。我尝试通过键入:“ {this.state.name.email}”来调用它,它在Flatlist中不起作用。我已经在另一个文件中初始化了我的应用程序,其中Fire.shared = new Fire();。已导出。如果能提供有关如何将此类数据正确导出到该州的帮助,我将不胜感激。预先谢谢你!
答案 0 :(得分:0)
对setState
的调用需要在回调中,因此:
componentDidMount() {
const user = this.props.uid || Fire.shared.uid;
const list = [];
this.unsubscribe = Fire.shared.firestore
.collection("users")
.doc(data)
.onSnapshot(doc => {
list.push(data);
this.setState({
data: list
)};
});
}