Как сохранить возврат аутентификации телефона в Redux? - PullRequest
0 голосов
/ 12 октября 2018

Я нахожусь в середине проекта, где мне нужно войти в систему после того, как он / она предоставит номер телефона и код подтверждения.Однако когда пользователь вводит код, я использую приведенный ниже код для генерации результата подтверждения.

 firebase.auth().signInWithPhoneNumber(phone).
   then(confirmResult =>{
     dispatch(otpSuccess(confirmResult));
   }) 

Там, после того, как он возвращает объект verifyResult, я выполняю действие otpSuccess с возвращенным значением, чтобы использовать его позже.

в моих действиях ,

export const otpSuccess =(data)=>({
  type:GET_OTP_SUCCESS,
  payload:data
});

в моем редукторе,

case GET_OTP_SUCCESS:
    return { ...state,
      otpReceived:true,
      otpLoading:false,
      otpData:action.payload,
    };

, а также начальные состояния редукторакак указано ниже,

const initialstate = {    
    otpLoading:false,
    otpReceived:false,
    otpData:null,
};

Затем, получив значение OTP, введенное пользователем, я отправляю и otpData, и пин-код другому действию, чтобы выполнить проверку.

login = (pinArray) =>
 {  this.props.requestingOauthToken
    (pinArray.join(''),this.props.otp.otpData);}

Там,

export const requestingOauthToken = (pin,OTPRequest) => {
  return (dispatch) => {
    OTPRequest.confirm(pin).
        then(user=>{// with some logic
  })}}

Проблема

Когда я запускаю код, он говорит:

TypeError: TypeError: TypeError: Cannot read property 'confirm' of undefined

Я не знаю, как OTPRequest становится неопределенным,Может кто-нибудь помочь мне решить эту проблему?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...