Я пытаюсь сохранить значение поля имя, прочитанное из документа в хранилище пользователей, в переменную 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();
}