滚动位置应放在上次反应原生的位置

时间:2018-04-11 11:44:07

标签: android react-native react-navigation infinite-scroll react-native-flatlist

StackNavigator的最大问题是不会卸载组件,即不会调用componentWillUnmount()

但我需要这个组件阶段解除绑定事件,或做其他事情。这就是我开始使用DrawerNavigator的原因。

但这带来了StackNavigator自动解决的另一个问题。

我有一个从服务器加载数据的组件。在这个组件中,我只显示了夏季,每当用户点击它时,另一个组件似乎显示详细信息。这意味着有两个组件(屏幕)。因此,用户导航到详细信息屏幕(AppNavigator.router.getStateForAction(NavigationActions.navigate({routeName: action.route}), currentState);)然后他/她按下(硬件)后退按钮,当我覆盖此事件的默认行为(关闭应用程序)时,他/她将导航到列表屏幕。现在,问题是,他/她是第15个数据,现在当他/她从详细屏幕导航时,滚动条在第一个数据中!如果我使用StackNavigator,滚动条就会出现在第15个数据中。

我使用ScrollViewFlatList实现了这一点。使用onMomentumScrollEnd道具从服务器获取更多数据。

那么,我该如何解决这个问题,滚动条应该放在上次的位置,同时获得componetWillUnmount的功能?

0 个答案:

没有答案