Чтобы await
ваша quizes
функция также должна быть async
и использовать синтаксис await, а не обещания.
Например, этот код должен достичь желаемого результата:
constructor(props) {
super(props);
this.state = {
docs: []
};
}
async componentDidMount() {
await this.quizes();
}
quizes = async () => {
let result = await firebase.firestore().collection("quiz").get()
const docs = result.docs.map(doc => {
return { uid: doc.id, ...doc.data() }
});
return this.setState({ docs }, () => {
console.log(this.state.docs);
});
};
РЕДАКТИРОВАТЬ: setState
использует обратный вызов. Чтобы гарантировать, что состояние было установлено во время регистрации, используйте функцию обратного вызова в функции quizes
.