ตอบสนองปัญหาการนำทาง: stacknavigator

ฉันกำลังพยายามสร้างเครื่องนำทางแบบลิ้นชักโดยใช้ บทช่วยสอนที่ดีจริงๆ นี้ /สาธิต

ปัญหาคือแม้ว่ารหัสนี้จะใช้งานได้และฉันสามารถเดินผ่านหน้าจอทั้งหมดใน stacknavigator ของฉันได้:

const navigator = StackNavigator({
  home: { screen: Home },
  signup: { screen: SignUpStep },
  login: { screen: Login },
  selectTeachers: { screen: SelectTeachers },
  dashboard: { screen: Dashboard },
},
{
  headerMode: 'float',
  navigationOptions: {
    headerStyle: { backgroundColor: '#E73536' },
    title: 'You are not logged in',
    headerTintColor: 'white'
  }
});

export default navigator;

แต่เมื่อฉันพยายามรวมฉากการเข้าสู่ระบบไว้ในล็อกอินสแต็กเป็นขั้นตอนแรก จากนั้นให้สิ่งนั้นเป็นหน้าจอใน const อื่น มันไม่ทำงาน:

const LoginStack = StackNavigator({
  home: { screen: Home },
  signup: { screen: SignUpStep },
  login: { screen: Login },
  selectTeachers: { screen: SelectTeachers },
  dashboard: { screen: Dashboard },
},
{
  headerMode: 'float',
  navigationOptions: {
    headerStyle: { backgroundColor: '#E73536' },
    title: 'You are not logged in',
    headerTintColor: 'white'
  }
});

const navigator = StackNavigator({
  loginStack: { screen: LoginStack },
  //drawerStack: { screen: DrawerNavigation }
}, {
  // Default config for all screens
  headerMode: 'none',
  title: 'Main',
  initialRouteName: 'loginStack'
});
export default navigator;

นี่คือข้อผิดพลาดที่ฉันได้รับ:

ป้อนคำอธิบายรูปภาพที่นี่


person Sam Rao    schedule 13.01.2018    source แหล่งที่มา


คำตอบ (1)


ลิงก์ที่คุณนำมาเผยแพร่แนวทางที่ไม่ถูกต้อง

ฉันเขียนความคิดเห็นที่นั่น

การวางลิ้นชักไว้ใต้ StackNavigation เป็นความคิดที่ไม่ดี และไม่เหมาะกับแนวทางการออกแบบใดๆ ใน iOS การลากเพื่อเปิดการดำเนินการจะทำซ้ำพร้อมกับการย้อนกลับในการนำทาง ใน Android คุณไม่พบแอปจาก Google ที่ใช้วิธีการนี้ ลิ้นชักควรปิด StackNavigator จากภายนอก

คุณต้องเปลี่ยน StackNavigator ตัวที่สองเป็น DrawerNavigator และดูเอกสารหรือตัวอย่าง 'react-navigation' สำหรับ DrawerNavigator

person Bright Lee    schedule 15.01.2018
comment
การนำทางลิ้นชักถูกใส่ความคิดเห็น ดังนั้นจึงไม่ได้แอ็คทีฟ ข้อกังวลของฉันคือ const navigator = StackNavigator({ loginStack: { screen: LoginStack } ใช้งานไม่ได้ แต่ก็ควร ฉันแค่อ้างอิงถึง stacknavigator ตัวหนึ่งภายในอีกตัวหนึ่ง - person Sam Rao; 17.01.2018
comment
@SamRao คุณช่วยวาด hirachky ที่คุณต้องการเก็บถาวรได้ไหม? แล้วผมพอจะให้คำแนะนำได้บ้างนะครับ. - person Bright Lee; 17.01.2018
comment
@SamRao ยังไงซะ ฉันทำตัวอย่างการทำงานให้คุณแล้ว snack.expo.io/rJIKh61Sf - person Bright Lee; 19.01.2018