使用抽屉式导航时出错-未定义不是对象(正在评估'_this.props.navigationProps.toggleDrawer')

时间:2019-09-26 13:59:28

标签: react-native react-navigation native-base react-navigation-stack react-navigation-drawer

我无法使抽屉导航与NativeBase一起使用,它在另一个文件中也能很好地工作,但是当将其添加到我正在处理的项目中时,出现此错误: 未定义不是对象(正在评估'_this.props.navigationProps.toggleDrawer') 我看过几篇帖子,都出现了相同的错误,但对我却无济于事,我确定这是我犯的一个简单的JavaScript错误。

我已经从此文件中删除了很多内容,以压缩我在此处发布的内容,但这足以显示我的问题。

<button  [disabled]="isDisabled" #myButton>
        <ng-content></ng-content>
</button>
"react-native-navigation": "^2.27.9",
"react-native-reanimated": "1.2.0",
"react-native-screens": "1.0.0-alpha.22",
"react-native-vector-icons": "6.6.0",
"react-navigation": "4.0.7",
"react-navigation-drawer": "^2.2.2",
"react-navigation-stack": "1.8.1", 

2 个答案:

答案 0 :(得分:0)

您可以尝试吗?

import { DrawerActions } from 'react-navigation-drawer';
  render() {
      const { navigationProps } = this.props
    return (
   ...
            <Icon
              onPress={() => navigationProps.dispatch(DrawerActions.toggleDrawer())}
              name="md-menu"
              style={{ color: "white", marginRight: 15 }}
            />

答案 1 :(得分:0)

当我先致电navigation from type YOURSCREENNavigationProp然后致电dispatch(DrawerActions.toggleDrawer())

时,对我来说效果很好