将 Ionic Native / Cordova Plugins 与 Ionic (React) & Capacitor 一起使用的正确方法是什么?

IT技术 reactjs ionic-framework capacitor
2021-05-09 18:38:29

如何使用 Capacitor 而不是 Cordova 将 Ionic Native/Cordova 插件与 Ionic React(不是 Angular)一起使用?

我想将Screen Orientation Plugin与 Capacitor 和 Ionic React 结合使用。这是因为 Ionic React 项目不正式支持 Cordova。了解更多

这是我尝试过的。

import { ScreenOrientation } from '@ionic-native/screen-orientation'
.
.
.
.
useEffect(() => {
    ScreenOrientation.lock(ScreenOrientation.ORIENTATIONS.LANDSCAPE)
}, [])

我的 package.json安装了以下相关的依赖项。

"@ionic-native/core": "^5.13.0",
"@ionic-native/screen-orientation": "^5.13.0",
"cordova-plugin-screen-orientation": "^3.0.2"

应用程序构建成功,但仍以纵向模式在我的 Android 设备上打开。如果我尝试显示以下内容,

console.log(ScreenOrientation.type)

应用程序构建成功,但屏幕变为空白。

Capacitor 的原生 API 与 Ionic React 完美配合。例如,

import { Plugins } from '@capacitor/core'
const { StatusBar } = Plugins
.
.
useEffect(() => {
    StatusBar.hide()
}, [])

将隐藏我的 Android 设备上的状态栏。

这是在 Ionic React 中使用带有电容器的 Cordova 插件的正确方法吗?参考

如果是,我在这里做错了什么?如果不是,我怎样才能达到同样的目标?

1个回答

问题解决了!我做的一切都是正确的,我只是npx cap sync在安装了 Ionic Native Plugin 后忘记了运行

因此,将 Cordova Plugins 与 Capacitor & Ionic (React) 一起使用的正确方法是

npm install @ionic-native/javascript-package-name
npm install cordova-plugin-name
npx cap sync