如何在我React Native应用程序中添加设置为壁纸功能

xghobddn  于 2023-06-24  发布在  React
关注(0)|答案(1)|浏览(112)

我正在使用Expo Go,我正在创建一个壁纸应用程序,当用户点击设置为壁纸按钮时,我想在用户的设备上设置图像/壁纸。我搜索了互联网,尝试了许多软件包,但没有一个对我有效
我尝试打包以下包:

  • liuhong1happy - react-native-wallpaper-manager
  • meharbhutta - react-native-manage-wallpaper

这些解决方案都不适合我。
导入给予了我以下警告:

Could not find a declaration file for module 'react-native-manage-wallpaper'.
Note: Now its not giving me this warning.

现在这个错误来了

Error: Type is undefined
import {TYPE} from "react-native-manage-wallpaper
Use TYPE.HOME"

虽然我已经进口了。
以下是我的尝试:

const handleSetWallpaper =  () => {
    ManageWallpaper.setWallpaper(
        {
            uri: imageSource,
        },
        TYPE.HOME,
    );
};
8qgya5xd

8qgya5xd1#

这是一个非常简单的问题,有一个更简单的解决方案。
每当你得到一个缺少声明的错误时,你应该回想一下你正在使用的是什么类型的项目:Vanilla JavaScript或TypeScript。
这种错误只有在处理TypeScript项目时才会出现。
下一个问题是什么意思,有一个失踪的声明?您可以在TypeScript项目中使用JavaScript库,但通常需要键入。大多数NPM包要么是用TypeScript编写的(所以没有声明的要求),要么包括适当的.d.ts文件,以便它们可以在TypeScript项目中使用。
另一种选择是,该软件包对TypeScript一无所知--它不是用TypeScript编写的,也没有包含任何.d.ts文件来补充JavaScript。
如果一个包对TypeScript一无所知,通常可以在@types命名空间中找到一个声明包;例如:

yarn add @types/liuhong1happy
# or
npm install --dev @types/liuhong1happy

注意:我还没有验证您列出的包是否存在类型声明包。
如果没有第三方共享您正在使用的特定包的类型声明,那么您可能想要创建自己的类型声明。
通常通过阅读文档,您可以了解类结构、函数签名等。使用这些信息,您可以创建自己的.d.ts文件并自己编写类型声明--您只需要包含您正在使用的函数/类的声明。

相关问题