Tony
Tony

Reputation: 783

Steps to retrieve current user data in firebase using vuejs

I’m creating an application where only users I create manually in firebase can log in.

The app consists of a multistep form to gather user information. For example:
Step1 ==> gather user general information
Step2 ==> information about user’s company

I want the user to be able to log back in, see the form fields populated with his data and allow him to edit them if needed.

So far I have the multi step form, that sends data to firebase. I’m using vuex and vuefire.

I understand that I can retrieve the data in two ways: before/after navigation (https://router.vuejs.org/en/advanced/data-fetching.html)

Should I create a child in the database using the currentuser uid and then reference the database using a dynamic route such as"

db.ref('forms/' + user.uid) 

I'm a beginnger and I don’t know how to go about this and if it's the correct way to think about it. How would you go about retrieving the data for a specific user and push that data into each field?

There seems to exist a vuexfire https://github.com/chrisbraddock/vuefire-auth-demo could that be the way to go about this?

Upvotes: 0

Views: 2659

Answers (1)

Eyk Rehbein
Eyk Rehbein

Reputation: 3868

I'm not familiar with vuefire but I would request user data like the following

// for getting data once
let uid = firebase.auth().currentUser.uid;
let dbRef = "users/"+uid;
firebase.database().ref(dbRef).once("value", snap => {
    let email = snap.val().email;
    ...
})

// for realtime updates
let uid = firebase.auth().currentUser.uid;
let dbRef = "users/"+uid;
firebase.database().ref(dbRef).on("value", snap => {
    this.yourVueObject = snap.val().yourData
});

Upvotes: 1

Related Questions