【发布时间】:2020-03-09 01:29:36
【问题描述】:
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 事件登陆屏幕时尝试调用 fetch API
componentDidMount() {
this.loadFeed(); // fetch API
const { navigation } = this.props;
this.focus = navigation.addListener('willFocus', () => {
this.loadFeed(); // fetch API
});
}
来自 package.json 的 React Navigation 版本:
- “反应导航”:“^4.2.2”
- “反应导航抽屉”:“^2.4.2”
有没有更好的方法来检测应用上的活动屏幕并调用 fetch API?或者修复下面给出的错误?
类型错误:未定义不是对象(评估“navigation.addListner”): Error when the app launches
更新
我正在尝试在零食中复制以下示例:https://snack.expo.io/HkrP8YPIf
我做错了什么? (我是 React Native 新手,请帮我理解)
【问题讨论】:
标签: android ios react-native expo react-native-navigation