React Native-navigation.addListner不是对象

问题描述 投票:-1回答:1

App.js:

import React, { Component } from 'react';
import {View,Text} from 'react-native';
import { createDrawerNavigator } from 'react-navigation-drawer';
import {createAppContainer} from 'react-navigation';

import Epics from './screens/tmp';
import Pager from './screens/Pager';

const DrawerNavigator = createDrawerNavigator({
 Home: {screen: Epics},
 Page: {screen: Pager}
},{initialRouteName: 'Home'});

const Stack = createAppContainer(DrawerNavigator);

export default class App extends Component {
  render() {
    return <Stack />;
  }
}

尝试每次使用导航addListner事件在用户登陆屏幕时调用提取API

componentDidMount() {
   this.loadFeed(); // fetch API
   const { navigation } = this.props;
   this.focus = navigation.addListener('willFocus', () => {
     this.loadFeed(); // fetch API
   });
}

来自package.json的反应导航版本:

  • “反应导航”:“ ^ 4.2.2”
  • “反应导航抽屉”:“ ^ 2.4.2”

是否有更好的方法来检测应用程序上的活动屏幕并调用获取API?或解决以下给定的错误?

类型错误:未定义不是对象(正在评估'navigation.addListner'):Error when the app launches

android ios react-native expo react-native-navigation
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.