React Native AdMob错误:未定义不是对象(正在评估'_reactNative.View.propTypes.style')

时间:2018-10-26 11:31:15

标签: react-native

我尝试使用react-native-admob包来展示广告,我按照此处的说明进行操作:https://www.npmjs.com/package/react-native-admob

设置后,出现错误:

enter image description here

3 个答案:

答案 0 :(得分:0)

从AdMobBanner中删除样式道具,然后检查

答案 1 :(得分:0)

安装此插件的Beta版本。此问题在此版本中得到解决。 package.json将如下所示。

"react-native-admob": "^2.0.0-beta.6",

或运行此命令

npm i react-native-admob@2.0.0-beta.6

答案 2 :(得分:0)

第1步。在node-modules / react-native-admob / RNAdmobBanner.js和RNPublisherBanner.js中的顶部行下方添加

从“ prop-types”导入PropTypes;

步骤2 。从两个文件中删除这些行(可能分别是第48行和第50行)

样式:View.propTypes.style

注意:AdmobBanner的style属性根本不起作用,因此您可以删除它,因为这是造成问题的原因。

第3步。更改两个文件中的单词

React.PropTypes ===>到===> PropTypes

旧内容=>

bannerSize: React.PropTypes.string,
adUnitID: React.PropTypes.string,
testDeviceID: React.PropTypes.string,
adViewDidReceiveAd: React.PropTypes.func,
didFailToReceiveAdWithError: React.PropTypes.func,
adViewWillPresentScreen: React.PropTypes.func,
adViewWillDismissScreen: React.PropTypes.func,
adViewDidDismissScreen: React.PropTypes.func,
adViewWillLeaveApplication: React.PropTypes.func,
admobDispatchAppEvent: React.PropTypes.func,

新内容应类似于=>

bannerSize: PropTypes.string,
adUnitID: PropTypes.string,
testDeviceID: PropTypes.string,
adViewDidReceiveAd: PropTypes.func,
didFailToReceiveAdWithError: PropTypes.func,
adViewWillPresentScreen: PropTypes.func,
adViewWillDismissScreen: PropTypes.func,
adViewDidDismissScreen: PropTypes.func,
adViewWillLeaveApplication: PropTypes.func,
admobDispatchAppEvent: PropTypes.func,

参考:https://github.com/facebook/react-native/issues/16542#issuecomment-415751870

OR

react-native unlink react-native-admob

npm uninstall react-native-admob

npm install -save react-native-admob@next

文档:https://github.com/sbugert/react-native-admob

参考:https://github.com/sbugert/react-native-admob/issues/391#issuecomment-451253909

对于react-native-admob@next,请使用adSize属性而不是bannerSize