反应导航tabBarComponent无法读取的未定义的属性“钥匙”

问题描述 投票:0回答:1

对于反应导航的文档是很不清楚我如何自定义tabBarComponent超出颜色简单地改变。我能够创建标签和点像,所以我的自定义组件;

import { TabNavigator } from 'myComponentsSomewhere'

...

const Navigator = createBottomTabNavigator(
  {
    Route1: Route1Component,
    Route2: Route2Component,
    ...
  },
  {
    tabBarComponent: props => <TabNavigator {...props} />,
    tabBarOptions: {
      activeTintColor: colors.first,
      showLabel: false,
    },
  },
)

TabNavigator方面,我得到的道具,因为我所期望的负载;

activeTintColor: "#d85089",
getAccessibilityLabel,
getButtonComponent,
...
navigation,
...

navigation道具,我可以给state,然后路线等等...但我不能断火的任何功能,让按钮或图标的渲染。 (renderIcongetButtonComponent

对这些函数的文档是弱,但看代码,好像它们都需要包含keyrouteName等“路由”对象

该形状可以在navigation.state.routes阵列中找到 - 但通过这些对象中的一个简单地引发错误;

Cannot read property 'key' of undefined

下面是该代码的错误的示例;

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

const TabNavigator = props => {
  return props.navigation.state.routes.map(route =>
    props.getButtonComponent(route),
  )
}

export default TabNavigator

最后,我希望能够写我自己的代码包含的标签,而不是仅限于通过代码来反应的导航标记。我不明白为什么没有在道具接收的渲染功能将工作时,通过一个完整的路由对象,径直出了导航道具

react-navigation
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.