编程语言
首页 > 编程语言> > javascript – 在DrawerNavigator中使用屏幕选项传递道具

javascript – 在DrawerNavigator中使用屏幕选项传递道具

作者:互联网

我在https://reactnavigation.org/docs/navigators/drawer使用DrawerNavigator.

const MyApp = DrawerNavigator({
    Home: {
        screen: MyHomeScreen,
    },
    Notifications: {
        screen: MyNotificationsScreen,
    },
});

我有多个屏幕使用MyNotificationsScreen组件与不同的道具.

我该怎么做:

const MyApp = DrawerNavigator({
    Home: {
        screen: MyHomeScreen,
    },
    Notifications1: {
        screen: MyNotificationsScreen(propName=val1),
    },
    Notifications2: {
        screen: MyNotificationsScreen(propName=val2),
    },
});

解决方法:

在许多情况下我认为更好的方法:

screen: (props) => <MyNotificationsScreen {...props} propName={val1} />

这将把你的导航道具放在props.navigation.state.params中.如果你希望它们出现在this.props中(这意味着你的组件没有紧密耦合到react-navigation),那么使用:

screen: (props) => <MyNotificationsScreen {...props.navigation.state.params} propName={val1} />

标签:javascript,reactjs,react-navigation
来源: https://codeday.me/bug/20190611/1217429.html