我该如何解决这个问题 - undefined 不是一个对象(评估“label.toUpperCase”)

约安·伊万诺夫

如何在 React Navigation V3 中修复此错误?................................................ …………………………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………………………… ...................................................... …………………………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………………………………………………

这是我的代码:

import React, {Component} from 'react';
import { Dimensions, Button } from 'react-native';
import { createStackNavigator, createAppContainer, createDrawerNavigator } from 'react-navigation'; 
import DrawerClose from './DrawerCloseButton'
import DrawerOpen from './DrawerOpenButton'
import HeaderButtons from 'react-navigation-header-buttons';
import Icon from 'react-native-vector-icons/Ionicons';


import HomeScreen from './HomeScreen';

const WIDTF = Dimensions.get('window').width;

const DrawerConfig = {
  drawerWidth: WIDTF*0.80,
  drawertType: 'back'    
}

const Drawer = createDrawerNavigator ({
Home: {
  screen: HomeScreen,
},
},
DrawerConfig
);

const MainNavigator = createStackNavigator({
  Drawermenu:{
    screen: Drawer,
    navigationOptions: ({ navigation }) => {
      const { state } = navigation;
      if (state.routes[ state.index ].key !== 'DrawerClose') {
        return {

          headerLeft: (
            <HeaderButtons IconComponent={ Icon } iconSize={ 24 } color={ 'black' }>
            <HeaderButtons.Item iconName="close" onPress={ () => navigation.navigate('DrawerToggle') } />
          </HeaderButtons>
          )
        };
      } 
      else {
        return null
      }
    }
  }
});

export default createAppContainer (MainNavigator);

这是错误:

在此处输入图片说明

六月 L。

创建一个新文件调用它MyHeaderButtons.js并使用MaterialHeaderButtons而不是HeaderButtons

// MyHeaderButtons.js

import * as React from 'react';
import MaterialIcons from 'react-native-vector-icons/MaterialIcons';
import { HeaderButtons, HeaderButton } from 'react-navigation-header-buttons';

export const Item = HeaderButtons.Item;

// define IconComponent, color, sizes and OverflowIcon in one place
const MaterialHeaderButton = props => (
  <HeaderButton {...props} IconComponent={MaterialIcons} iconSize={23} color="blue" />
);

export const MaterialHeaderButtons = props => {
  return (
    <HeaderButtons
      HeaderButtonComponent={MaterialHeaderButton}
      OverflowIcon={<MaterialIcons name="more-vert" size={23} color="white" />}
      {...props}
    />
  );
};

import HeaderButtons from 'react-navigation-header-buttons';从您的进口替换import { MaterialHeaderButtons, Item } from './MyHeaderButtons'

import React, {Component} from 'react';
import { Dimensions, Button } from 'react-native';
import { createStackNavigator, createAppContainer, createDrawerNavigator, DrawerActions } from 'react-navigation'; 
import DrawerClose from './DrawerCloseButton'
import DrawerOpen from './DrawerOpenButton'
import { MaterialHeaderButtons, Item } from './MyHeaderButtons'; // new import
import Icon from 'react-native-vector-icons/Ionicons';

去掉

<HeaderButtons IconComponent={ Icon } iconSize={ 24 } color={ 'black' }>
  <HeaderButtons.Item iconName="close" onPress={ () => navigation.navigate('DrawerToggle') } />
</HeaderButtons>

<MaterialHeaderButtons IconComponent={Icon} iconSize={24} color={'black'}>
  <Item
       iconName="close"
       onPress={() => navigation.dispatch(DrawerActions.toggleDrawer())}/>
</MaterialHeaderButtons>

使用具有以下组件的汉堡菜单

class MenuButton extends React.Component {
  constructor(props) {
    super(props);
    this.state = {
      active: false,
    };
  }

  onPress = () => {
    this.setState({ active: !this.state.active });
    this.props.navigation.dispatch(DrawerActions.toggleDrawer());   
  };
  render() {
    return (
      <React.Fragment>
        <Hamburger
          active={this.state.active}
          type="cross"
          onPress={this.onPress}
        />
      </React.Fragment>
    );
  }
}

headerLeft: <MenuButton navigation={navigation} />,

工作演示

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

TypeError:需要一个类似字节的对象,而不是“str”,我该如何解决这个问题?

来自分类Dev

反应原生导航有问题| undefined 不是一个对象(评估'_this.props.navigation')

来自分类Dev

$中的错误:'closure'类型的对象不是子集,我该如何解决这个问题?

来自分类Dev

缩短一段代码会产生错误;我该如何解决这个问题?

来自分类Dev

Smooch chat 上面有一些元素,我该如何解决这个问题?

来自分类Dev

我的服务器有一个 NIC 的双 IP 地址。我该如何解决这个问题?

来自分类Dev

我该如何解决这个问题(Class<SpringJUnit4ClassRunner> 不能解析为一个类型)?

来自分类Dev

undefined 不是一个对象(评估'regeneratorRuntime.mark')

来自分类Dev

ls 命令向我显示用户 ID 而不是用户名,我该如何解决这个问题?

来自分类Dev

'Value' 的错误参数 #3(预期字符串,得到对象) - 我该如何解决这个问题?

来自分类Dev

我编写了一个计算collatz猜想的程序,它可以工作但不能计算非常大的数字,我该如何解决这个问题?

来自分类Dev

有一个 NoSuchElementException,我找不到如何解决这个问题

来自分类Dev

如何解决TypeError:undefined不是React-Native中的对象(评估'_core.pathUtils.urlToPathAndParams')

来自分类Dev

我该如何解决这个问题?

来自分类Dev

我该如何解决我的提交按钮问题,我无法移至下一页

来自分类Dev

TypeError:undefined不是一个对象(评估“ this.props”)-React Native

来自分类Dev

React Native undefined不是一个对象(评估“ props.navigation.toggleDrawer”)

来自分类Dev

react-navigation:undefined不是一个对象(评估'Object.keys(routeConfigs)')

来自分类Dev

TypeError:undefined不是一个对象(正在评估“ navigation.push”)React Native

来自分类Dev

undefined 不是一个对象(评估'this.state.markers.map')渲染

来自分类Dev

Angular/Karma/Jasmine - undefined 不是一个对象(评估 'commLogger.SetLogLevel')

来自分类Dev

undefined 不是一个对象(评估'_this2.props.navigation.navigate')

来自分类Dev

undefined 不是一个对象(评估 'require(37 ).PropTypes.shape')

来自分类Dev

undefined 不是一个对象(评估'this.state.product.images.map')

来自分类Dev

undefined 不是一个对象(评估'this.props.navigation')反应导航

来自分类Dev

React Native:'undefined 不是一个对象(评估'_react3.PropTypes.bool')

来自分类Dev

undefined 不是一个对象(评估 'routes[state.index].key')

来自分类Dev

TypeError : undefined 不是一个对象(评估“style.width”)

来自分类Dev

Undefined 不是一个对象(评估'this.props.navigation.navigate')React native

Related 相关文章

  1. 1

    TypeError:需要一个类似字节的对象,而不是“str”,我该如何解决这个问题?

  2. 2

    反应原生导航有问题| undefined 不是一个对象(评估'_this.props.navigation')

  3. 3

    $中的错误:'closure'类型的对象不是子集,我该如何解决这个问题?

  4. 4

    缩短一段代码会产生错误;我该如何解决这个问题?

  5. 5

    Smooch chat 上面有一些元素,我该如何解决这个问题?

  6. 6

    我的服务器有一个 NIC 的双 IP 地址。我该如何解决这个问题?

  7. 7

    我该如何解决这个问题(Class<SpringJUnit4ClassRunner> 不能解析为一个类型)?

  8. 8

    undefined 不是一个对象(评估'regeneratorRuntime.mark')

  9. 9

    ls 命令向我显示用户 ID 而不是用户名,我该如何解决这个问题?

  10. 10

    'Value' 的错误参数 #3(预期字符串,得到对象) - 我该如何解决这个问题?

  11. 11

    我编写了一个计算collatz猜想的程序,它可以工作但不能计算非常大的数字,我该如何解决这个问题?

  12. 12

    有一个 NoSuchElementException,我找不到如何解决这个问题

  13. 13

    如何解决TypeError:undefined不是React-Native中的对象(评估'_core.pathUtils.urlToPathAndParams')

  14. 14

    我该如何解决这个问题?

  15. 15

    我该如何解决我的提交按钮问题,我无法移至下一页

  16. 16

    TypeError:undefined不是一个对象(评估“ this.props”)-React Native

  17. 17

    React Native undefined不是一个对象(评估“ props.navigation.toggleDrawer”)

  18. 18

    react-navigation:undefined不是一个对象(评估'Object.keys(routeConfigs)')

  19. 19

    TypeError:undefined不是一个对象(正在评估“ navigation.push”)React Native

  20. 20

    undefined 不是一个对象(评估'this.state.markers.map')渲染

  21. 21

    Angular/Karma/Jasmine - undefined 不是一个对象(评估 'commLogger.SetLogLevel')

  22. 22

    undefined 不是一个对象(评估'_this2.props.navigation.navigate')

  23. 23

    undefined 不是一个对象(评估 'require(37 ).PropTypes.shape')

  24. 24

    undefined 不是一个对象(评估'this.state.product.images.map')

  25. 25

    undefined 不是一个对象(评估'this.props.navigation')反应导航

  26. 26

    React Native:'undefined 不是一个对象(评估'_react3.PropTypes.bool')

  27. 27

    undefined 不是一个对象(评估 'routes[state.index].key')

  28. 28

    TypeError : undefined 不是一个对象(评估“style.width”)

  29. 29

    Undefined 不是一个对象(评估'this.props.navigation.navigate')React native

热门标签

归档