我正在制作React Native expo应用程序,并开始将Facebook广告添加到我的应用程序中。我得到了ID,然后安装了expo-ads-facebook
软件包,但是当我开始添加横幅时,它给了我一个错误:
r.render不是函数
App.js
import React from 'react';
import { FacebookAds } from 'expo'
class AdScreen extends React.Component {
ViewWithBanner(props) {
return (
<FacebookAds.BannerAd
placementId="2272791379702600_2272803043034767"
type="standard"
onPress={() => console.log('click')}
onError={error => console.log('error', error)}
/>
);
}
}
export default createStackNavigator({
Main: { screen: AdScreen }
},
{initialRouteName: 'Main'});
答案 0 :(得分:2)
没有渲染功能,但是如果在JSX中使用类组件,则确实需要一个渲染功能。例如:
class AdScreen extends React.Component {
render () {
return (
<FacebookAds.BannerAd
placementId="2272791379702600_2272803043034767"
type="standard"
onPress={() => console.log('click')}
onError={error => console.log('error', error)}
/>
);
}
}
或者,您可以按照文档创建无状态功能组件:https://docs.expo.io/versions/latest/sdk/facebook-ads/
侧面注意:从您的导入来看,您似乎正在使用过时的expo版本。我建议为一个新项目升级到最新版本。