これはまたハックのビットですが、私はそのカスタムTabBarまたはreduxを使用せずにその最も単純なハックだと思います。あなたは何ができるか
はヌル
はその後、特定のインデックスの反応ナビゲーションとトグル引き出しからあなたTabNavigator
、輸入TabBarsにこの画面を追加し、レンダリング画面コンポーネントを作成することです。あなたは、単純な反応-ナビゲーションからデフォルトTabBarsを引き続き使用
import { TabBarBottom, TabBarTop } from 'react-navigation';
const TabBar = Platform.OS === 'ios' ? TabBarBottom : TabBarTop;
const Navigator = TabNavigator({
Tab1: { screen: Tab1 },
Tab2: { screen: Tab2 },
Tab3: { screen: Tab3 },
More: { screen: More }
}, {
tabBarComponent: ({jumpToIndex, ...props, navigation}) => (
<TabBar
{...props}
jumpToIndex={index => {
if (index === 3) {
navigation.navigate('DrawerToggle'); //Toggle drawer
}
else {
jumpToIndex(index)
}
}}
/>
)
});
この方法では、あなたの引き出しのアイコン/ラベルを持っており、引き出しを切り替えるためにそれを使用します。
お返事ありがとうございます。私はこれを実装し、それは動作するようです。 1つの問題は、最後のTabNavigatorタブをタップすると、ドロワーメニューが開きません(DrawerNavigatorの最初の画面が開きます)。実装はあなたが提示したものと同じです。 – nikasv
私はそれを得た。私はStackNavigatorをStackNavigatorと一緒に持っていました。私はそれらをDrawerNavigatorの中に入れなければなりません:) – nikasv