我正在尝试在使用打字稿的反应本机项目中添加放大身份验证。 amplify 文档中给出了一个包'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' 这样的可用软件包
那么有人可以帮我解决这个问题吗?
不幸的是,在回答这个问题时还没有定义的类型。但是,您可以像这样调用
@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);
目前没有可用于 aws-amplify-react-native 的官方 TypeScript (TS) 类型。要抑制 TypeScript 警告,您需要定义自己的 TS 声明文件 (*.d.ts)。
要获得近似的输入,您可以将此文件复制到您的项目中。这些是 GitHub 用户 dantasfiles 编写的打字内容。请记住,它们并不准确,可以更精确地指定。
为了完整起见,万一有人在 2024 年 5 月之后找到这个答案:从 Amplify Gen 2 发布开始,TypeScript 得到了完全支持,并融入了开发人员体验中……在给出这个答案时,有一些针对 React Native 的警告。
注意事项 bing:
有关详细信息,请参阅以下文档链接:
还有一个第 1 代到第 2 代的迁移指南