response-native-navigation V2: Как вложить sideMenu в stackView - PullRequest
0 голосов
/ 25 февраля 2019

У меня есть начальный экран, который проверяет, вошел ли пользователь ранее.Если да, пользователь переходит на экран main, а если нет, то пользователь переходит на экран signUp (используя stack navigation).

Это работает нормально, но я пытаюсь использовать навигацию stack и sideMenu.Когда пользователь переходит на main screen, я хочу открыть sideMenu, когда пользователь нажимает на sideMenu icon или swipe-to-right.

Это мой Initalzing экран

import React from 'react'
import {
  View,
  Text,
  StyleSheet,
  AsyncStorage
} from 'react-native'

import { goToSignUp, goToMain } from './navigation'

import { USER_KEY } from './Config/config'

export default class Initialising extends React.Component {
  async componentDidMount() {
    try {
      const user = await AsyncStorage.getItem(USER_KEY)
      console.log('user: ', user)
      if (user) {
        goToMain()
      } else {
        goToSignUp()
      }
    } catch (err) {
      console.log('error: ', err)
      goToSignUp()
    }
  }

  render() {
    return (
      <View style={styles.container}>
        <Text style={styles.welcome}>Loading</Text>
      </View>
    )
  }
}

const styles = StyleSheet.create({
  welcome: {
    fontSize: 28
  },
  container: {
    flex: 1,
    justifyContent: 'center',
    alignItems: 'center'
  }
})

Здесь я хочу вложить sideMenu внутри mainScreen

import { Navigation } from 'react-native-navigation'

//if user not sign in go to signUpScreen
export const goToSignUp = () => Navigation.setRoot({
  root: {
    stack: {
      id: 'StackId',
      children: [
        {
          component: {
            name: 'SignUpScreen',
          },
        },
      ],
    }
  }
});

//if user has signed in go to mainScreen
//I want to nest sideMenu in here!!
export const goToMain = () => Navigation.setRoot({
  root: {
    stack: {
      id: 'App',
      children: [
        {
          component: {
            name: 'MainScreen',
          }
        }
    ],
    }
  }
})

Мой вопрос, как я могу вложить sideMenu в корневую навигацию?Любые комментарии или советы будут действительно полезны.Заранее спасибо!:)

...