React navigation的NavigationActio

2018-11-28  本文已影响141人  咸鱼Jay

NavigationActions

1. Navigate - 用来跳转到其他路由的方法

import { NavigationActions } from 'react-navigation';
const navigateAction = NavigationActions.navigate({
  routeName: 'Profile',
  params: {},
  action: NavigationActions.navigate({ routeName: 'SubProfileRoute' }),
});
this.props.navigation.dispatch(navigateAction);

2. Back - 用来返回到上一个路由或其他路由

import { NavigationActions } from 'react-navigation';
const backAction = NavigationActions.back({
  key: 'Profile',
});
this.props.navigation.dispatch(backAction);

3. SetParams

在调用SetParams时,路由器将产生一个新的状态,该状态已经改变了由key标识的特定路由参数

import { NavigationActions } from 'react-navigation';

const setParamsAction = NavigationActions.setParams({
  params: { title: 'Hello' },
  key: 'screen-123',
});
this.props.navigation.dispatch(setParamsAction);

4. Reset - 重置路由

Reset操作将重置整个导航状态并将其替换为新的导航。

import { StackActions, NavigationActions } from 'react-navigation';
const resetAction = StackActions.reset({
  index: 0,
  actions: [NavigationActions.navigate({ routeName: 'Profile' })],
});
this.props.navigation.dispatch(resetAction);

5. Replace - 用新的route替换当前的route

Replace操作将给定key上的路线替换为另一条路线。

6. Push- 入栈

Push操作会在堆栈顶部添加一条路径并向前导航。这与之前的不同之处在于,如果某个组件已经存在路由中,navigate则会弹出到堆栈中的较早版本。Push将始终添加在顶部,因此可以多次安装组件。

7. pop(n) - 出栈

Pop操作将使您回到堆栈中的前一个屏幕。n参数允许您指定要多少个屏幕出栈。

8. PopToTop - 回到栈顶

PopToTop操作会将您带回堆栈中的第一个屏幕,解除所有其他屏幕。它的功能与StackActions.pop({n: currentIndex})类似。

参考
react-navigation使用技巧

上一篇 下一篇

猜你喜欢

热点阅读