reactjs - 抽屉物品出现问题 - React Native
问题描述
我正在使用带有 React Navigation 4.0.5 的 React Native 并收到此错误:
不变违规:不变违规:元素类型无效:需要一个字符串(对于内置组件)或一个类/函数(对于复合组件),但得到:未定义。您可能忘记从定义组件的文件中导出组件,或者您可能混淆了默认导入和命名导入。
检查
contentComponent
.
这是我的代码:
import React from 'react';
import { createDrawerNavigator, DrawerItems } from 'react-navigation-drawer';
import { useDispatch } from 'react-redux';
import { Platform, SafeAreaView, Button, View } from 'react-native';
import * as authActions from '../store/actions/auth';
const MenuNavigator = createDrawerNavigator(
{
Mapa: MapaNavigator,
Pedidos: PedidosNavigator,
Usuario: UsuarioNavigator
},
{
contentOptions: {
activeTintColor: Colors.primary
},
contentComponent: props => {
const dispatch = useDispatch();
return (
<View style={{ flex: 1, paddingTop: 20 }}>
<SafeAreaView forceInset={{ top: 'always', horizontal: 'never' }}>
<DrawerItems {...props} />
<Button
title="Logout"
color={Colors.primary}
onPress={() => {
dispatch(authActions.logout());
}}
/>
</SafeAreaView>
</View>
);
}
}
);
如果我评论<DrawerItems {...props} />
所有代码仅显示注销按钮...添加<DrawerItems {...props} />
上述错误出现...
解决方案
我刚刚在本指南中找到了解决方案
import { createDrawerNavigator, DrawerNavigatorItems } from 'react-navigation-drawer';
替换这个
<DrawerItems {...props} />
这样
<DrawerNavigatorItems {...props} />