Type批注只能在TypeScript文件中使用。 ts(8010)

问题描述 投票:0回答:1

我正在关注为React Native应用设置IAP(应用内购买)的教程(下面的教程链接)。在编写代码时,vs代码警告我“类型注释只能在TypeScript文件中使用”,这在代码的“购买:InAppPurchase | SubscriptionPurchase”和“错误:PurchaseError”部分下发出警告。研究此问题时,我发现(在Stack Overflow或elswhere上)最受欢迎的解决方案是仅禁用“ TypeScript和JavaScript语言功能”。

我不觉得这可以解决问题,但我不确定。禁用此功能是否可以解决问题,并让我的应用按预期运行?还是有另一种方法可以在我的javascript文件中包含此打字稿语法?

    useEffect(() => {
    purchaseUpdateSubscription = RNIap.purchaseUpdatedListener(
        async (purchase: InAppPurchase | SubscriptionPurchase) => {
            const receipt = purchase.transactionReceipt;

            if (receipt) {
                try {
                    if (Platform.os === 'ios') {
                        RNIap.finishTransactionIOS(purchase.transactionReceipt)
                    }
                    await RNIap.finishTransaction(purchase)
                    await processNewPurchase(purchase)
                } catch (ackErr) {
                    console.log('ackErr', ackErr)
                }
            }
        }
    );

    purchaseErrorSubscription = RNIap.purchaseErrorListener(
        (error: PurchaseError) => {
            console.log('purchaseErrorListener', error)
        }
    );

    return (() => {
        if (purchaseUpdateSubscription) {
            purchaseUpdateSubscription.remove()
            purchaseUpdateSubscription = null;
        }
        if (purchaseErrorSubscription) {
            purchaseErrorSubscription.remove()
            purchaseUpdateSubscription = null;
        }
    })
}, [])

链接到教程:https://medium.com/@rossbulat/react-native-subscriptions-with-in-app-purchases-setup-fdaf3863e07f

javascript typescript react-native in-app-purchase
1个回答
0
投票

如果仍然要编译代码,则可以将文件更改为.ts文件,并在所有位置放置类型注释(如果您不知道或不想创建类型,则可以输入any

© www.soinside.com 2019 - 2024. All rights reserved.