【发布时间】:2017-07-27 11:27:23
【问题描述】:
我正在尝试在我的应用中自定义抽屉导航器。我正在使用反应导航。当我第一次插入此代码时,它只显示白屏,甚至导航链接在做了几件事后都消失了,它显示了这个错误屏幕。
在此之前,它只在抽屉内显示白屏,没有我的链接。这是代码。
App.js
import React from 'react';
import {StyleSheet, Text, View } from 'react-native';
import WelcomeScreen from './screens/WelcomeScreen';
import SigninScreen from './screens/SigninScreen';
import SignupScreen from './screens/SignupScreen';
import HomeScreen from './screens/HomeScreen';
import FoodScreen from './screens/FoodScreen';
import RestaurantsScreen from './screens/RestaurantsScreen';
import ProfileScreen from './screens/ProfileScreen';
import FavoritesScreen from './screens/FavoritesScreen';
import SettingsScreen from './screens/SettingsScreen';
import { TabNavigator, DrawerNavigator, StackNavigator,contentComponent } from 'react-navigation';
import {DrawerContent} from './components/DrawerContent'
export default class App extends React.Component {
render() {
const MainNavigator = TabNavigator({
welcome: { screen: WelcomeScreen },
signin: { screen: SigninScreen },
signup: { screen: SignupScreen },
main: {
screen: DrawerNavigator({
home: { screen: HomeScreen },
food: { screen: FoodScreen },
restaurants: { screen: RestaurantsScreen },
profile: {
screen: StackNavigator({
profilw: { screen: ProfileScreen },
settings: { screen: SettingsScreen }
})
}
},
{
contentComponent: props => <DrawerContent {...props} />,
}
)
}
},
);
return (
<MainNavigator />
);
}
}
DrawerContent.js
import React, { Component } from "react";
import { View, ScrollView,Button,Text } from "react-native";
class DrawerContent extends Component {
render() {
return (
<ScrollView style={styles.container}>
<View style={{ flex: 1 }}>
<Button transparent info onPress={() => { this.handlechange(); }}>
<Text style={{ fontSize: 16 }}>Change Email</Text>
</Button>
</View>
</ScrollView>
);
} }
const styles = {
container: {
flex: 1,
padding: 20,
backgroundColor: 'Green',
}, };
export default DrawerContent;
【问题讨论】:
-
尝试将 Button onPress 事件(在 DrawerContent 组件中)更新为
-
感谢您的回复。它与这个错误有什么关系?
-
没有定义名为“this.handlechange”的函数。此外,您需要导航/路线。为此,您必须使用导航对象。
-
contentComponent 还是一样的错误
-
试试这个:
contentComponent: props => ( <DrawerContent {...props} /> )
标签: reactjs react-native react-native-android react-native-ios react-navigation