navigate
- name:已在某处注册路由的名字。
- key:是导航到route的一个标识符,如果这个route存在,导航到这个route。
- params:导航到这个route所需要的参数
import { CommonActions } from '@react-navigation/native';
navigation.dispatch(
CommonActions.navigate({
name: 'Profile',
params: {
user: 'jane',
},
})
);
- 使用
navigation
这个方法,如果屏幕已经存在于堆栈的历史记录中,它会返回该屏幕并且移除该屏幕之后的所有屏幕。如果该屏幕不存在,它将推送一个新屏幕。
reset
import { CommonActions } from '@react-navigation/native';
navigation.dispatch(
CommonActions.reset({
index: 1,
routes: [
{ name: 'Home' },
{
name: 'Profile',
params: { user: 'jane' },
},
],
})
);
goBack
- 返回之前的
route
import { CommonActions } from '@react-navigation/native';
navigation.dispatch(CommonActions.goBack());
- 返回之前某一特定的
route
import { CommonActions } from '@react-navigation/native';
navigation.dispatch({
...CommonActions.goBack(),
source: route.key,
target: state.key,
});