【问题标题】:Render is not a function facebook ads渲染不是功能 facebook 广告
【发布时间】:2019-07-03 04:09:42
【问题描述】:

我正在制作 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'});

【问题讨论】:

    标签: react-native expo facebook-ads-api


    【解决方案1】:

    没有渲染功能,但如果使用带有 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 版本。我建议为新项目升级到最新版本。

    【讨论】:

    • 我正在使用过时的版本,因为另一个版本不支持这个:import * as FacebookAds from 'expo-ads-facebook';据说他们无法获取数据
    • 您是否遵循文档中的所有内容,包括“开发与生产”部分?
    • 我已经把它给了我错误:无法从“node_modules/expo-ads-facebook/build/withNativeAd.js”解析“@unimodules/core”
    • 那是一组完全不同的问题,你应该用谷歌搜索那个错误,如果你不能解决它,也许可以创建另一个线程。这只是一个旁注,通常最好使用最新版本。我的回答是否解决了您问题的主要问题?您基本上将 expo 文档中的无状态功能组件复制/粘贴到类组件中。
    猜你喜欢
    • 2020-09-17
    • 1970-01-01
    • 2021-04-19
    • 1970-01-01
    • 1970-01-01
    • 2018-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多