React Native Navigator - 限制后退数量

时间:2017-02-15 11:18:34

标签: react-native

我正在开发一个复杂的应用程序,它有许多不同的屏幕,有多种形式。用户抱怨它不时崩溃和退出。我认为它可能来自太多的navigator.pushes所以我试图限制背部的数量,但我似乎无法让它正常工作。

我正在使用immediatelyResetRouteStack我从导航器onDidFocus道具中调用。

问题是,如果我在Navigator onDidFocus prop中调用它,它会触发一个新的渲染,并且我在大约1秒后查看重新渲染的屏幕。我也尝试了一个泛型函数,每当我执行navigator.push时我都会调用它,但它不会动画,而且转换到新屏幕的速度很慢。

是否有更好的方法来限制背部数量?

我的代码:

_navigatorOnDidFocus(){

let routes=_navigator.getCurrentRoutes();

if (routes.length > 4){
  let routesCopy = _.cloneDeep(routes);

  let newRoutes = [
    routesCopy[0],
    routesCopy[2],
    routesCopy[3],
    routesCopy[4],
  ];

  _navigator.immediatelyResetRouteStack(newRoutes);

}
}

0 个答案:

没有答案