gpt4 book ai didi

javascript - React-navigation重置说明

转载 作者:行者123 更新时间:2023-12-03 13:54:30 27 4
gpt4 key购买 nike

我已经检查这个问题有一段时间了,有很多文档,但同时什么也没有。我在从 react 导航调用重置方法时遇到问题。我有以下 StackNavigator

const Routes = StackNavigator({
Home: { screen: CheckLogin(App), navigationOptions: { header: null } },
Options: { screen: Options, navigationOptions: { title: 'Settings' } },
Dashboard: { screen: Dashboard },
});

所以主页可能就像一个登录,选项只是一个带有一些选项的页面,仪表板是重定向后的主页。关键是,在主页上,我正在检查是否存储了以前的访问 token ,因此它直接进入仪表板屏幕。我的问题是,它出现了返回的箭头,而我不希望出现这种情况,因此一个好的方法可以重置路线。

在我的仪表板组件中,我在 componentDidMount 中放入了以下代码(不知道该放在哪里):

const resetAction = NavigationActions.reset({
index: 1,
actions: [
NavigationActions.navigate({ routeName: 'Home' }),
NavigationActions.navigate({ routeName: 'Dashboard' })
]
});

this.props.navigation.dispatch(resetAction);

所以我的理解是:操作是您可以走的路线,索引是您想要进入操作数组的位置的路线。所以我的 actions 数组中的位置 1 是仪表板组件。这部分在文档中有点令人困惑,所以我不确定。

该代码不起作用。它在我的应用程序主页和仪表板之间创建了一个无限循环

有没有办法,当我到达仪表板组件时,删除后退箭头以将其替换为另一个完全不同的链接?如果解决办法是重置。你能向我解释一下这里出了什么问题以及它是如何工作的吗?

我真的很感谢任何帮助。

最佳答案

我认为您想要的是在确定用户已登录后从主屏幕调用此函数。

const resetAction = NavigationActions.reset({
index: 0,
actions: [
NavigationActions.navigate({ routeName: 'Dashboard' })
]
});

this.props.navigation.dispatch(resetAction);

这个 NavigationActions.reset() 函数正在执行的操作是执行“actions”键中指定的操作,并将结果状态拼接到指定索引处的导航历史记录中(来自“index”键),并摆脱导航历史记录中的所有后续项目。

您的可用路线是在提供给导航器的参数中指定的,而不是在此参数的“actions”键中指定的。

关于javascript - React-navigation重置说明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44828974/

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