javascript - 类型注释只能在 TypeScript 文件中使用。 TS(8010)

标签 javascript typescript react-native in-app-purchase

我正在学习有关为 native 应用程序设置 IAP(应用程序内购买)的教程(链接到下面的教程)。在编写代码时,vs code 警告我“Type Annotations can only be used in TypeScript files”,这是在代码的“purchase: InAppPurchase | SubscriptionPurchase”和“error: PurchaseError”部分下警告的。在研究这个问题时,我能找到的最流行的解决方案(在 Stack Overflow 或其他地方)是简单地禁用“TypeScript 和 JavaScript 语言功能”。

我觉得这并不能解决问题,但我不确定。禁用它会解决问题并让我的应用程序按预期运行吗?或者是否有另一种方法可以将此 typescript 语法包含在我的 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

最佳答案

如果您无论如何都要编译代码,您可以将文件更改为 .ts 文件并在各处放置类型注释(any 如果您不知道或不想制作类型).

关于javascript - 类型注释只能在 TypeScript 文件中使用。 TS(8010),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62394400/

相关文章:

angular - 属性 'platform' 已声明但从未使用

typescript - 为什么 `this` 在函数内部被键入为 `any`?

javascript - Angular 4只需在javascript中设置一个单选按钮

javascript - 使用 get set "exited with code 1"编译 TypeScript 错误代码

Javascript 局部变量就像窗口中的类变量一样工作

react-native - 如何在 Linux 上手动启动 React Native 调试器 - Ubuntu

javascript - 如何设置一个复选框以在 React Native 中使用 Anyc 存储进行操作

ios - React Native屏幕显示在顶部和底部被切断,并且应用看起来放大了

javascript - 如何从警告框中获取文本?

javascript - jQuery 快速问题