I create a react-native app using react-redux. Now I need to get my updated data in real-time. I create a function for that, But I can't return my data to yield a call function. when I console.log out my output, It's printed [Function unsubscribe].
export function* getUserData(action) {
const userID = action.data.userID
try {
const userData = yield call(getUserFirebase, userID)
console.log(userData) //User data can't print:- [Function unsubscribe]
if (userData) {
yield put({
type: GET_USER_DATA_SUCCESS,
data: userData
})
}
} catch (error) {
console.log(error)
yield put({
type: GET_USER_DATA_FAILED,
})
}
}
function getUserFirebase(userID) {
const subscriber = firestore()
.collection('Users')
.doc(userID)
.onSnapshot(documentSnapshot => {
console.log('User data: ', documentSnapshot.data());
return documentSnapshot.data();
});
return () => subscriber();
}