美文网首页
React navigation的NavigationActio

React navigation的NavigationActio

作者: 咸鱼Jay | 来源:发表于2018-11-28 15:55 被阅读141次

NavigationActions

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

  • routeName - String - 必须 - 在RouteConfigs中注册过的路由名称
  • params - Object - 可选 - 传递的参数
  • action - Object - 可选 - (高级)如果屏幕是导航器,则在子路由器中运行的子操作。本文档中描述的任何一项操作都可以设置为子操作。
  • key - String - 可选 - 要导航到的路线的标识符。如果它已经存在,则返回到此路线。
import { NavigationActions } from 'react-navigation';
const navigateAction = NavigationActions.navigate({
  routeName: 'Profile',
  params: {},
  action: NavigationActions.navigate({ routeName: 'SubProfileRoute' }),
});
this.props.navigation.dispatch(navigateAction);

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

  • Key - String | null - 如果设置,导航将从给定的键返回。如果为空,导航将返回到上一级。
import { NavigationActions } from 'react-navigation';
const backAction = NavigationActions.back({
  key: 'Profile',
});
this.props.navigation.dispatch(backAction);

3. SetParams

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

  • params - Object - 可选 - 新的参数被合并到现有的路径参数中。
  • key - String - 必须 - 获取新参数的路由键。
import { NavigationActions } from 'react-navigation';

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

4. Reset - 重置路由

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

  • index - number - 必须 - 导航中routes活动路由的索引state

  • actions - array - 必须 - 将替换导航数组。

  • key - string | null - 可选 - 如果设置,具有给定键的导航器将重置。如果为null,则根导航器将被重置。

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上的路线替换为另一条路线。

  • key - string - 必须 - 要替换​​路由的key
  • newKey - string - 用于替换路由的key。如果未提供,则自动生成。
  • routeName - string - 用于替换路由的routeName
  • params - object - 要传入替换路由的参数。
  • action - object - 可选的子操作。

6. Push- 入栈

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

  • routeName - string - 要跳转路由的routeName
  • params - object - 传递的参数,可以通过(this.props.navigation.state.params)找到。
  • action - 子操作。

7. pop(n) - 出栈

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

  • n - number - 要出栈的屏幕数量。

8. PopToTop - 回到栈顶

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

参考
react-navigation使用技巧

相关文章

网友评论

      本文标题:React navigation的NavigationActio

      本文链接:https://www.haomeiwen.com/subject/ngaaqqtx.html