Приложение. 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 />;
}
}
Попытка вызывать API извлечения каждый раз, когда пользователь попадает на экран, используя событие навигации addListner
componentDidMount() {
this.loadFeed(); // fetch API
const { navigation } = this.props;
this.focus = navigation.addListener('willFocus', () => {
this.loadFeed(); // fetch API
});
}
Реагирование версии навигации из пакета. json:
- "реагировать-навигация": "^ 4.2.2"
- "реагировать-навигация-ящик": "^ 2.4.2"
Есть ли лучший способ обнаружить активный экран в приложении и вызвать API извлечения? Или исправить приведенную ниже ошибку?
Ошибка типа: undefined не является объектом (оценивается как «navigation.addListner»): Ошибка при запуске приложения
Обновление
Я пытаюсь повторить следующий пример в перекусе: https://snack.expo.io/HkrP8YPIf
Что я делаю не так? (Я новичок в React Native, пожалуйста, помогите мне понять)