Как передать объекты Firebase в редукторный редуктор - PullRequest
0 голосов
/ 12 февраля 2019

Я получаю данные из базы данных и передаю их в качестве полезной нагрузки.Как мне сохранить это в массиве в редукторе?

Ниже приведен мой код.Здесь doc3.data() дает мне данные, которые мне нужны, но я бы хотел, чтобы они были в одном объекте в редукторе.Как я могу сохранить его один за другим?

     var query1 = firestore.collection('Employers').where("phoneNo", "==", phoneno)
    .get()
    .then((querySnapshot) => {
        if(querySnapshot.empty === true) {
            dispatch({type: 'GET_JOB_ERROR', phoneno});
         }
        else{
        querySnapshot.forEach(function(doc) {
            console.log(doc.id, " => ", doc.data());
            console.log(doc.data().FirstName);
            var query2 = firestore.collection('Jobs').where("postedby", "==", doc.data().FirstName)
            .get()
            .then((doc2) => {
                if(doc2.empty === true) {
                    dispatch({type: 'GET_JOB_ERROR', phoneno});
                 }
                else{
                    doc2.forEach(function(doc3) {
                    //console.log(doc3.id, " => ", doc3.data());
                    jobs=doc3.data();
                    dispatch({type:'GET_JOB', payload:jobs});
                });
                }
            })

        });
        }
       }) 

Код редуктора ниже

const initState = {
authError : '',jobs : [],

}

 const getJobs = (state = initState, action) => {

  switch(action.type){
    case 'GET_JOB':
    console.log('get job ',action.payload);
    return { 
      ...state,
    jobs :  [state.jobs, ...action.payload],
    authError : null,

    }    
    case 'GET_JOB_ERROR':
    console.log('get job error ',action.err);
    return {
        ...state,
    authError : 'Login Failed'
    }
    default:
    return state;
}
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...