Рендер не является функцией рекламы в Facebook - PullRequest
1 голос
/ 02 июля 2019

Я создаю приложение React Native expo и начал добавлять рекламу Facebook в свое приложение.Я получил идентификатор, затем я установил 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'});

1 Ответ

2 голосов
/ 02 июля 2019

Функции рендеринга нет, но она вам нужна, если вы используете компонент класса с 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/

Примечание: Судя по вашим импортам, вы используетеУстаревшая версия выставки.Я бы порекомендовал обновить до нового для нового проекта.

...