【问题标题】:react-native-youtube library invariation error when adding library to react-native application将库添加到 react-native 应用程序时出现 react-native-youtube 库不变错误
【发布时间】:2020-07-06 22:23:17
【问题描述】:

我正在使用 React Native 创建一个电影和电视节目项目,并尝试为每个来自 YouTube 的预告片添加视频,但出现此错误。

Invariant Violation: requireNativeComponent: "ReactYouTube" was not found in the UIManager.

这就是我目前正在做的事情:Error Image

import YouTube from 'react-native-youtube';

...

state = {
   isReady: false,
    status: "",
    quality: "",
    error: ""
}

...

          <YouTube
            apiKey="AIzaSyCce0TNBZDyCCP62B2P8EkTfgjgp20ZqOA"
            videoId="jKCj3XuPG8M" // The YouTube video ID
            play // control playback of video with true/false
            fullscreen={false} // video should play in fullscreen or inline
            loop={false} // control whether the video should loop when ended
            onReady={e => this.setState({ isReady: true })}
            onChangeState={e => this.setState({ status: e.state })}
            onChangeQuality={e => this.setState({ quality: e.quality })}
            onError={e => this.setState({ error: e.error })}
            style={{ alignSelf: "stretch", height: 300 }}
          />

我试过直接在MainApplication.java添加ReactNativeYoutube包

import com.inprogress.reactnativeyoutube.ReactNativeYouTube;

...

packages.add(new ModuleRegistryAdapter(mModuleRegistryProvider));

settings.gradle

include ':react-native-youtube'

project(':react-native-youtube').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-youtube/android')

还有build.gradle

implementation project(':react-native-youtube')

但我仍然遇到同样的错误,想知道是否有人遇到过同样的错误并有解决方案

【问题讨论】:

  • 如果您只想在 Android 上运行,您只需从您的 package.json 中删除 "postinstall": "cd ios &amp;&amp; pod install &amp;&amp; cd .."。因为错误是ios错误而不是android错误。
  • Expo 可能是问题所在,因为原生模块。所以我会尝试 React Native CLI。如果这不起作用,我建议查看这些问题github.com/davidohayon669/react-native-youtube/…
  • @BasvanderLinden 谢谢你,我想试试你所说的关于从package.json 中删除这个"postinstall": "cd ios &amp;&amp; pod install &amp;&amp; cd .." 但这不存在,或者你的意思是我应该添加它?
  • 我以为您使用的是来自github.com/davidohayon669 的示例项目。如果postinstall 不在,你可以忽略我说的。

标签: android react-native android-youtube-api expo


【解决方案1】:

当软件包安装未正确完成时,可能会发生此类错误。 通过检查确认您是否在应用程序文件夹中正确安装包

还有一点,对于 Android 用户,:此组件的 Android 实现需要在设备上安装 YouTube 应用。否则会用SERVICE_MISSING/SERVICE_DISABLED.触发错误事件

【讨论】:

    猜你喜欢
    • 2019-06-18
    • 1970-01-01
    • 2020-09-25
    • 2019-03-17
    • 2018-03-05
    • 2018-07-21
    • 1970-01-01
    • 1970-01-01
    • 2020-06-10
    相关资源
    最近更新 更多