React native 如何修复';未定义navigation.state';在自定义导航组件中?

React native 如何修复';未定义navigation.state';在自定义导航组件中?,react-native,navigation,react-navigation,react-native-paper,React Native,Navigation,React Navigation,React Native Paper,我正在尝试使用中的CreateMaterialTabNavigator为我的React-Native应用程序使用自定义组件(tabBarComponent属性),该组件是中的底部导航“React-Native paper” 我已经从中复制了几乎所有的代码,因为它是我找到的唯一将BottomNavigation用作自定义组件的源代码 我有3条主要代码: TabNavigator(组件) 主导航 const TabNavigator = createStackNavigator( { Tabs

我正在尝试使用
中的
CreateMaterialTabNavigator
为我的React-Native应用程序使用自定义组件(
tabBarComponent
属性),该组件是
中的
底部导航
“React-Native paper”

我已经从中复制了几乎所有的代码,因为它是我找到的唯一将
BottomNavigation
用作自定义组件的源代码

我有3条主要代码:
TabNavigator(组件)

主导航

const TabNavigator = createStackNavigator(
{
  TabsStack: {
    ...,
    {
      ...,
      tabBarComponent: ({ props }) => <CustomTabNavigation {...props} />
    })
  },
}
);
const TabNavigator=createStackNavigator(
{
塔布斯塔克:{
...,
{
...,
tabBarComponent:({props})=>
})
},
}
);


我希望能够使用“react navigation”(反应导航)中的
createMaterialTopTabNavigator
中的
SwipEnabled
功能(每个屏幕之间的动画转换),以及外观更好的选项卡栏,但是在
CustomTabNavigation
(line
const{state}=navigation;
)的呈现函数中,
'navigation.state是未定义的,
,但是我看不出原因。

我认为这里有错误:
tabBarComponent:({props})=>
应该是
tabBarComponent:props=>
或者只是
tabBarComponent:CustomTabNavigation

const TabNavigator = createStackNavigator(
{
  TabsStack: {
    ...,
    {
      ...,
      tabBarComponent: ({ props }) => <CustomTabNavigation {...props} />
    })
  },
}
);
BottomNavigation
from paper不是一个选项卡栏组件,它是一个完整的选项卡导航组件。我想,通过不渲染内容,您可以像使用选项卡栏一样使用它

但请注意,无论是Android还是iOS设计指南都不向底部标签添加滑动手势,因此UX将不一致。通常顶部标签栏有滑动手势,因为用手指很难到达顶部标签栏

const TabNavigator = createStackNavigator(
{
  TabsStack: {
    ...,
    {
      ...,
      tabBarComponent: ({ props }) => <CustomTabNavigation {...props} />
    })
  },
}
);