Я нахожусь в середине проекта, где мне нужно войти в систему после того, как он / она предоставит номер телефона и код подтверждения.Однако когда пользователь вводит код, я использую приведенный ниже код для генерации результата подтверждения.
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
становится неопределенным,Может кто-нибудь помочь мне решить эту проблему?