我正在尝试使用具有自定义复杂动画和行为的TabRouter实现基于TabRouter的自定义导航器,或多或少采用可滑动CoverFlow的方式。
有一些例子说明如何使用StackRouter做到这一点,但是在更改为TabRouter时它们都不起作用。
到目前为止,我已经明白要获得像TabNavigator这样的导航器,我需要一个像以下的功能:
(routeConfigs, config = {}) => (
createNavigationContainer(
createNavigator(TabRouter(routeConfigs, config))(MyNavigationView)
)
);
如何实施MyNavigationView
作为我的主要讯问。
文档在导航器的每个组件上都非常肤浅,在大多数情况下将描述保持为单个句子。那么,究竟是什么,以及它的作用是什么:
我(以及如何)渲染_renderScene
函数中的所有场景吗?
如何隐藏当前未显示的场景?
我想我应该使用MyNavigationView
内部的PanResponder来处理滑动手势。当用户刷新到新场景时,我应该(以及,如果是,如何)更新路由器的状态?
此外,我不想使用TabNavigator在内部使用的AnimatedTabView
react-native-tab-view
,因为它在iOS上不适合我(conflict between ScrollView and PanResponder which likely won't be fixed for a while)
这是很多问题,但我有点失落。我一直在寻找React Navigation的来源,但它们仍让我感到困惑。
即使是部分答案也会有所帮助。
答案 0 :(得分:0)
那么也许您可以像这样更新您的功能?
createNavigationContainer(
createNavigator(MyNavigationView, TabRouter(routeConfigs, config), {})
)