webdevqa.jp.net

反応ネイティブナビゲーションv2でサイドバーの引き出しを追加する方法?

React-native-navigation v1を使用すると、次のような引き出しを設定できます。

drawer: {
    left: {
        screen: 'ScreenName'
    }
}

React-native-navigationのドキュメントで、彼らは引き出しがまだサポートされていると述べている drawer support

しかし、その使用例はありません。 v1と同じ方法で試しましたが、うまくいきませんでした。何とかそれを達成した人はいますか?

9
angelos_lex

RNN V2では、古いドロワーオプションExの代わりにsideMenuを使用するだけでドロワーを追加できます。

Navigation.events().registerAppLaunchedListener(() => {
  Navigation.setRoot({
    root: {
      sideMenu: {
        id: "sideMenu",
        left: {
          component: {
            id: "Drawer",
            name: "navigation.Drawer"
          }
        },
        center: {
          stack: {
            id: "AppRoot",
            children: [{
              component: {
                id: "App",
                name: "navigation.AppScreen"
              }
            }]
          }
        }
      }
    }
  });
}

これを見てください

引き出しを閉じるには、Navigation.mergeOptionsを使用し、次のようにfalseを表示します

<Button onPress={this.hideSideMenu}/>

hideSideMenu() {
  Navigation.mergeOptions(this.props.componentId, {
    sideMenu: {
      left: {
        visible: false
      }
    }
  });
}
17
devoka