0

在它的文档DrawerNavigatorItems具有以下属性:

  • items- 路由数组,可以修改或覆盖

它说你可以修改数组。

我怎样才能做到这一点?

它没有解释什么是“路线数组”。只是字符串?一个东西?

我想要做的一个例子是获取完整的数组并在最后添加一个额外的数组,例如

items: [...items, someNewItem]
4

2 回答 2

0

一种解决方案是定义我们的自定义组件。此外,我们可以利用 Redux 来管理状态。

摘自我创建的一个APP:

//The navigation part
const MainDrawer=createDrawerNavigator({
  MainNavigation,
  K:KChartViewScreen
},{
contentComponent:CoinDrawer,
edgeWidth:-1 //to disable gesture from bound open the drawer in unexpected screen. but you could do some work to enable it and without problem, I just handle in an easy way.
});

以下是CoinDrawer:

class CoinDrawer extends React.Component{
renderMarkets(){
   ...
}
render(){
        return (
            <View>


            <ScrollView>
                <SafeAreaView style={styles.container} forceInset={{ top: 'always', horizontal: 'never' }}>

                {this.renderMarkets()}
                </SafeAreaView>

            </ScrollView>
            </View>
        )
    }

function mapStateToProps(state){
    return {
        config:state.config,
        crypto:state.crypto,
        trade:state.trade
    }
}

export default connect(mapStateToProps,{SetCurrentMarket})(CoinDrawer);

希望这可以帮到你。

于 2019-10-17T05:39:20.667 回答
0

您可以在导航文件中传递抽屉导航项。您可以像下面这样创建一个

import { createDrawerNavigator } from 'react-navigation-drawer'
const MainNavigator = createDrawerNavigator(
  {
    Main,
    Landing,
  },
  {
    contentComponent: Drawer,
  },
)

我希望您理解我们可以制作不同类型的导航器,例如switch, stack,drawer等。在此之后,您可以在 AppNavigator 中调用您的抽屉导航器,如下所示

const AppNavigator = createStackNavigator(
  {
    MainNavigator,
    Account,
    Success,
  },
  {
    initialRouteName: 'MainNavigator',
    headerMode: 'none',
  },
)

现在,无论您将在 MainNavigator 对象中插入什么路线,它都会显示在抽屉中。导航服务的使用方式可能有多种,我用了这一种。希望这可以帮助。

于 2020-03-25T16:41:23.673 回答