gpt4 book ai didi

react-native - react navigation v5 如何重置或更换?

转载 作者:行者123 更新时间:2023-12-05 02:05:27 26 4
gpt4 key购买 nike

我尝试了文档中的所有示例,但没有成功。

我有一个组件,我要从这里路由到组件。

我需要卸载组件 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com