我有一个主屏幕作为我的堆栈导航器的根。 我尝试向我的 Home.js 反应组件添加一个 componentWillAppear
函数,但当我按后退按钮从联系屏幕返回该屏幕时,它没有触发。
import React, { Component } from 'react';
import {StackNavigator} from 'react-navigation';
import Contact from './Contact';
class Home extends Component {
static navigationOptions = {title:'Home'};
componentWillAppear()
{
console.log('hello');
}
render()
{
return <View></View>;
}
}
let Router =
{
Home: {screen: Home},
Contact:{screen:Contact}
}
const Navigator = StackNavigator(Router);
export default Navigator;
是否有另一个事件处理程序在您从堆叠导航器的子屏幕返回时,每次我的主屏幕变得可见时始终触发?
根据本尼基因评论:
我认为没有。如果您需要在上一个屏幕上执行某些操作 您可以使用 2 个选项。第一种选择是使用 redux 或 类似的包并触发操作以更新以前的组件 道具或第二种选择是使用自定义后退按钮 像这样的答案,然后是这个.props.navigation.goBack((