我有一个关于react-native-router-flux的问题,当我改变标签时,我想重置我的堆栈导航。我使用backToinitial,但我需要点击两次重置我的导航有人知道为什么吗?
export default class App extends Component {
render() {
return (
<Router>
<Tabs
key="root"
tabBarStyle={{ backgroundColor: '#FFFFFF' }}
backToInitial={true}
>
<Scene key="osu" title="OSU" icon={TabIcon}>
<Scene
key="scarlet"
component={ScarletScreen}
title="Scarlet"
/>
<Scene
key="gray"
component={GrayScreen}
title="Gray"
/>
</Scene>
<Scene key="vu" title="VU" icon={TabIcon}>
<Scene
key="blue"
component={BlueScreen}
title="Blue"
/>
<Scene
key="black"
component={BlackScreen}
title="Black"
/>
</Scene>
</Tabs>
</Router>
);
}}
发布于 2018-07-18 03:22:25
我放了一个公关来解决这个问题,如果有人发现它的话。
https://github.com/aksonov/react-native-router-flux/pull/3131/
如果你不想等待修复,你可以通过添加这个属性来给你的标签添加一个覆盖:
<Tabs
tabBarOnPress={({ scene, jumpToIndex }) => {
const { route, focused } = scene;
const { key } = route;
if(focused) return;
if (key === 'homeTab' && route.routes.length > 1) {
Actions['firstSceneUnderHomeTab']({ type: ActionConst.replace });
} else {
//normally navigate to a tab
jumpToIndex(scene.index);
}
}}>但是,请确保您没有在任何选项卡上设置backToInitial,因为最新版本有一个错误,backToInitial会覆盖您的tabBarOnPress。希望能很快更新。
https://stackoverflow.com/questions/47352572
复制相似问题