web-dev-qa-db-ja.com

React Nativeのreactタブナビゲーションでデフォルト画面ルートを設定する方法

ダッシュボードをリアクティブネイティブ下部タブのアクティブタブにロードしたい。ダッシュボードが読み込まれるたびにナビゲーションを実行しますが、ダッシュボードに移動するたびに、反応の下部タブナビゲーションの最初の要素である受信トレイ画面に移動します。画面下部のタブが使用されるときはいつでもデフォルト画面を作成する方法はありますか?

下のナビゲーションに使用しているコードは

 dashboard: {
        screen: createBottomTabNavigator({
            inbox: {
                screen: Chat,
                navigationOptions: ({ navigation }) => ({
                    title: 'Inbox',
                }),
            },
            favourite: {
                screen: Favourite,
                navigationOptions: ({ navigation }) => ({
                    title: 'Favourite',
                }),
            },
            dashboard: {
                screen: Dashboard,
                navigationOptions: ({ navigation }) => ({
                    title: 'Home',
                    initialRouteName: 'dashboard'
                }),
            },
            setting: {
                screen: SettingScreen,
                navigationOptions: ({ navigation }) => ({
                    title: 'Setting',
                }),
            },
            survey: {
                screen: NutritionistSurvey,
                navigationOptions: ({ navigation }) => ({
                    title: 'Survey',
                }),
            },
        }),
        navigationOptions: ({ navigation }) => ({
            title: 'Dashboard',

        }),


    },

ナビゲーションは完全に機能しますが、ユーザーがダッシュボードに移動するたびにダッシュボード画面をロードする方法が必要です。

4
theCoder

ダッシュボードという名前の2つの画面、bottomTabNavigatorとダッシュボード画面があるため、dashboardに移動しようとすると、react-navigationがbottomTabNavigatorの最初のタブに移動します。

BottomTabNavigatorの名前を変更すると、機能するはずです。

 dashboardTabs: {
        screen: createBottomTabNavigator({
            inbox: {
                screen: Chat,
                navigationOptions: ({ navigation }) => ({
                    title: 'Inbox',
                }),
            },
            favourite: {
                screen: Favourite,
                navigationOptions: ({ navigation }) => ({
                    title: 'Favourite',
                }),
            },
            dashboard: {
                screen: Dashboard,
                navigationOptions: ({ navigation }) => ({
                    title: 'Home',
                    initialRouteName: 'dashboard'
                }),
            },
            setting: {
                screen: SettingScreen,
                navigationOptions: ({ navigation }) => ({
                    title: 'Setting',
                }),
            },
            survey: {
                screen: NutritionistSurvey,
                navigationOptions: ({ navigation }) => ({
                    title: 'Survey',
                }),
            },
        }),
        navigationOptions: ({ navigation }) => ({
            title: 'Dashboard',
        }),
    },
0
sanjar