【问题标题】:How to use AWS Amplify in React Native with Typescript Project?如何在带有 Typescript 项目的 React Native 中使用 AWS Amplify?
【发布时间】:2020-10-12 04:26:57
【问题描述】:

我正在尝试在使用 typescript 的 react native 项目中添加 Amplify Authentication。 放大文档 'aws-amplify-react-native' 中给出了一个包,它用作验证我们应用程序的中间件。 但是这个包只在基于 javascript 的项目中被支持。 对于 Typescript,它会显示类似的错误

Could not find a declaration file for module 'aws-amplify-react-native'.
Try `npm install @types/aws-amplify-react-native` if it exists or add a new declaration (.d.ts) file containing `declare module 'aws-amplify-react-native';`

没有像'@types/aws-amplify-react-native'这样的包可用

那么任何人都可以帮助我解决这个问题?

【问题讨论】:

  • 安装 aws-amplify 和 aws-amplify-react-native。

标签: typescript amazon-web-services react-native authentication aws-amplify


【解决方案1】:

我在我的打字稿项目中安装了这个,我没有问题:

 npm install aws-amplify aws-amplify-react-native @react-native-community/netinfo @react-native-async-storage/async-storage

https://docs.amplify.aws/start/getting-started/setup/q/integration/react-native/#initialize-a-new-backend

【讨论】:

    【解决方案2】:

    不幸的是,在此答案时没有定义类型。但是,您可以像这样调用@ts-ignore

    // @ts-ignore
    import Amplify, { Auth } from 'aws-amplify';
    // @ts-ignore
    import awsconfig from './aws-exports';
    // @ts-ignore
    import { withAuthenticator } from 'aws-amplify-react-native'
    
    Amplify.configure(awsconfig);
    

    【讨论】:

    • 先生,我遇到了类似的问题,应该在哪里添加这个添加
    【解决方案3】:

    目前没有可用于 aws-amplify-react-native 的官方 TypeScript (TS) 类型。要抑制 TypeScript 警告,您需要定义自己的 TS 声明文件 (*.d.ts)。

    要获得大致的类型,您可以将this file 复制到您的项目中。这些是 GitHub 用户 dantasfiles 编写的类型。请记住,它们并不精确,可以更精确地指定。

    【讨论】:

    • 先生,我在这里遇到同样的问题,你能帮我吗?我已经导入了火,但仍然不知道如何配置它
    • @GeorgeSMulbahII 在您的项目中拥有 TS 声明文件 (.d.ts) 后,您只需确保它包含在您的 tsconfig.json 中,使用 include 而不是 excluded。然后 TS 编译器可以将这些类型耦合到基于 declare module 'aws-amplify-react-native' 的放大包。
    • 有关更多信息,请参阅例如这个问题:stackoverflow.com/questions/21247278/about-d-ts-in-typescript.
    猜你喜欢
    • 1970-01-01
    • 2022-11-03
    • 2021-08-13
    • 2021-10-19
    • 1970-01-01
    • 2023-03-13
    • 1970-01-01
    • 2019-03-17
    • 2020-04-26
    相关资源
    最近更新 更多