react-native - 渲染不是一个函数 facebook 广告
问题描述
我正在制作 React Native expo 应用程序,并开始将 Facebook 广告添加到我的应用程序中。我得到了 id,然后我已经安装了expo-ads-facebook
包,但是当我开始添加横幅时,它给了我一个错误:
r.render 不是函数
应用程序.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'});
解决方案
没有渲染功能,但如果使用带有 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 版本。我建议为新项目升级到最新版本。
推荐阅读
- c++ - 为什么我的程序连续运行而不停止?
- javascript - 似乎未检测到路由功能
- azure - Spark 可以写入 Azure Datalake Gen2 吗?
- swagger - How to prevent Swagger from following 302 Redirects?
- javascript - 我可以在 innerHTML 中使用包含 URL 图像链接的变量吗?
- android - 在增强现实中使用 arcore/sceneform 加载 Webview
- django-rest-framework - 我对注册人的序列化程序有疑问
- android - 如何制作通用文本大小以在 Android 中显示?
- sql-server - 是否需要从字符串转换为十进制,如果需要,应该如何完成?
- flutter - 如何从 Flutter 应用程序在 Instagram 提要上发布链接?