Опитвам се да съхраня стойността на полето name, прочетена от документ във firestore users в променлива userName, за да мога да променя стойността на състоянието на userName. По принцип как мога да запазя стойността на полето в променлива и да я съхраня в моя компонент? Винаги оценявам помощта на всички.
export default class Main extends Component {
state = {
currentUser: null,
userName: null
};
getName = async () => {
const { currentUser } = firebase.auth();
this.setState({ currentUser });
const uid = currentUser.uid;
let userName = null;
let docRef = await db.collection("users").doc(uid);
docRef.get().then(doc => {
userName = doc.data().name;
console.log(userName);
// this prints out "panda"
});
console.log(userName);
// this prints out null
this.setState({ userName });
};
componentWillMount() {
this.getName();
}