Reactjs 反应导航嵌套堆栈导航器isn';使用视图或滚动视图包装时不可见

Reactjs 反应导航嵌套堆栈导航器isn';使用视图或滚动视图包装时不可见,reactjs,react-native,react-navigation,Reactjs,React Native,React Navigation,我处理一个复杂的React本机应用程序,它使用React导航库。导航体系结构如下所示: const ReportContainer = ({ navigation }) => ( <ScrollView> // other stylistic stuff <Text>Hello, world!</Text> <ReportNavigator navigation={navigation} /> </Scr

我处理一个复杂的React本机应用程序,它使用React导航库。导航体系结构如下所示:

const ReportContainer = ({ navigation }) => (
  <ScrollView>
    // other stylistic stuff
    <Text>Hello, world!</Text>
    <ReportNavigator navigation={navigation} />
  </ScrollView>
)
  • 开关导航器
    • 身份验证堆栈(登录、注册、忘记密码等)
    • 认证堆栈
    • 底部选项卡导航器
      • 3页,其中一页是另一个switch navigator(这是本文的重点)
        • 在此开关导航器(称为报告)中有多个路由,其中一个是新的堆栈导航器(称为规则)
“Report”开关导航器包装在一个容器中,该级别的所有屏幕都具有该容器

下面是如何编写这些代码的一个小代码示例:

const AppNavigator = createSwitchNavigator({
  Authentication: createStackNavigator({
    Login,
    Register
    // etc
 }),
 Authenticated: createStackNavigator({
   Main: {
     screen: createBottomTabNavigator({
       tab1,
       tab2,
       Report: ReportContainer
    })
   // other screens outside of the tab navigator but still at the top level
})

const ReportNavigator = createSwitchNavigator({
  page1,
  page2,
  Rulings: createStackNavigator({
    RulingsHome: <Text>Rulings Home</Text>,
    // other screens
  })

const ReportContainer = ({ navigation }) => (
  <ScrollView>
    // other stylistic stuff
    <ReportNavigator navigation={navigation} />
  </ScrollView>
)
将显示文本,但导航器中的内容不可见。看着检查员,他们都是
的孩子,他们应该是


因此,问题是,
(或
)似乎把父交换机导航器中的深度嵌套堆栈导航器搞砸了。我能做些什么来避开这件事?这是预期的行为还是我应该在零食和提交上做一个例子来应对导航问题?

我必须在
上设置
contentContainerStyle={{flex:1}}
。这将使内容可滚动并呈现规则堆栈导航器内容。但是,它确实会弄乱一些其他组件的样式,因此需要修复它们。感谢@Andrew为我指明了正确的方向

我必须在
上设置
contentContainerStyle={{flex:1}}
。这将使内容可滚动并呈现规则堆栈导航器内容。但是,它确实会弄乱一些其他组件的样式,因此需要修复它们。感谢@Andrew为我指明了正确的方向

为视图提供flex:1的样式<代码>@Andrew谢谢-这对
有效,但对
无效。试图从react navigation导入
ScrollView
,但得到一个应该可以修复的错误,这可能会使视图具有flex:1的样式<代码>@Andrew谢谢-这对
有效,但对
无效。试图从react navigation导入
ScrollView
,但得到一个应该可以修复的错误,这可能会起作用