作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我尝试了文档中的所有示例,但没有成功。
我有一个组件,我要从这里路由到组件。
我需要卸载组件 A。
我试过更换和重置。
RootNavigation.navigationRef.current.dispatch(state => {
return CommonActions.reset({
index: 0,
key: null,
routes: [{ name: 'B' }],
});
});
此代码函数将我路由到堆栈 ['AA','B'] 中的不同路由路由,因此它将我路由到 'AA'
const resetAction = StackActions.replace('B', {});
RootNavigation.navigationRef.current.dispatch(state => {
return resetAction;
});
我收到一个错误,他使用负载 {"name":"B","params":{}} 执行的“REPLACE”操作未被任何导航器处理。
RootNavigation.navigate('B');
这个函数很好用,但它没有卸载 A。
最佳答案
你可以像这样使用,创建文件名“RootNavigation”然后输入这些行
import {createNavigationContainerRef} from '@react-navigation/native';
import {StackActions} from '@react-navigation/native';
export const navigationRef = createNavigationContainerRef();
export function navigate(name, params) {
if (navigationRef.isReady()) {
navigationRef.navigate(name, params);
}
}
export function navigateReplace(name, param) {
if (navigationRef.isReady()) {
navigationRef.dispatch(
StackActions.replace(name, {
param,
}),
);
}
}
如果您不想在没有导航 Prop 的情况下导航。像这样导入“RootNavigation”
import * as RootNavigation from '../RootNavigation';
然后你可以像这样导航
RootNavigation.navigateReplace('Login Flow');
或
RootNavigation.navigate('Profile');
请引用`https://reactnavigation.org/docs/navigating-without-navigation-prop/`这个官方文档
关于react-native - react navigation v5 如何重置或更换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63491677/
我是一名优秀的程序员,十分优秀!