最基本的用法很多地方都有提到,这篇文章主要介绍react-navigation2.0不同于1.0的使用,还有一些其他不常用的方法
-
1.reset到某一个页面,使页面左上角没有返回箭头
写一个公共的NavigationUtil.js文件
import { StackActions, NavigationActions } from 'react-navigation';
const reset = (navigation, routeName) => {
const resetAction = StackActions.reset({
index: 0,
actions: [NavigationActions.navigate({ routeName })]
});
navigation.dispatch(resetAction);
};
export default {
reset
};
在其他页面调用这个重置方法时
import NavigationUtil from '../utils/NavigationUtil';//NavigationUtil.js文件路径
NavigationUtil.reset(this.props.navigation, 'Tab');//Tab 路由名称
-
2.一个页面已经wanh完成了componentWillMount的生命周期,从其他页面返回,需要再次执行刷新页面的方法
componentWillMount(){
this.didBlurSubscription = this.props.navigation.addListener(
'willFocus',
payload => {
if(payload.lastState){
this.refresh();//刷新页面调用方法
}
}
);
}
退出这个页面需要去掉事件监听
componentWillUnmount(){
this.didBlurSubscription.remove();
}