【发布时间】:2016-06-22 22:04:07
【问题描述】:
我今天大部分时间都在寻找解决方案。我有一个登录页面,我不希望用户能够导航回该页面。为此,需要重置路由堆栈,从堆栈中删除登录页面。虽然这可以通过 Navigator 的 resetTo(route) 和 immediatelyResetRouteStack(route) 方法来完成,但它们都抵消了漂亮的过渡动画。
所以,经过一番激烈的谷歌搜索后,我回到 StackOverflow 看看我是否能得到一些帮助。我需要的是场景之间的动画过渡,同时在此过程中重置路由堆栈。
我见过this link,而最佳答案实际上不起作用。在 onDidFocus 方法的范围内,您无权访问您的 Navigator 实例,该方法仅通过路由对象。这意味着您不能从该函数中调用任何 Navigator 的方法。
如果我执行navigator.push(route),然后使用按钮手动运行navigator.immediatelyResetRouteStack(route),它确实会成功重置堆栈。这让我认为 setTimeout 是解决方案,但这两者似乎都是普遍的不良做法/逃避现实。
我不可能是唯一遇到此问题的人。
【问题讨论】:
标签: animation reactjs native navigator