我在应用程序购买中集成了react-native-iap。Android支付流程正常工作(付款成功,付款失败,用户取消支付)。但是当显示购买卡时,面对问题,我点击卡外,卡被取消,但在RNIap.purchaseErrorListener中没有得到事件。因此,我的状态变量没有更新。
这是样本:

侦听器代码:
useEffect(() => {
initPurchase()
purchaseErrorSubscription = RNIap.purchaseErrorListener(
(error) => {
console.log('purchaseErrorListener INAPP>>>>', error);
if(error.code == "E_USER_CANCELLED") {
//for cancelled or refund sku
setSelectedPackage(null)
RNToasty.Show({
title: error.message,
});
} else if(error.code == "E_ITEM_UNAVAILABLE") {
//item not found
setSelectedPackage(null)
} else {
setSelectedPackage(null)
}
},
);
}, []) 当我执行上述操作时,未调用侦听器。
有人能帮我办这个活动吗?提前谢谢!!
发布于 2022-08-10 14:18:25
您需要将其放入函数中,并在useEffect中调用此函数
const checkCurrentPurchaseError = async () => {
purchaseErrorListener(async currentPurchaseError => {
if (currentPurchaseError) {
Here is your code...
}
});
};
useEffect(() => {
checkCurrentPurchaseError(currentPurchaseError);
}, []);
https://stackoverflow.com/questions/70578982
复制相似问题