我尝试在反应原生中实现drawernavigator ...但我没有这样做我使用此链接实现 https://reactnavigation.org/docs/navigators/drawer 但我不是这个链接 我使用的代码是
class MyHomeScreen extends React.Component {
static navigationOptions = {
drawer: () => ({
label: 'Home',
icon: ({ tintColor }) => (
<Image
source={require('./chats-icon.png')}
style={[styles.icon, {tintColor: tintColor}]}
/>
),
}),
}
render() {
return (
<Button
onPress={() => this.props.navigation.navigate('Notifications')}
title="Go to notifications"
/>
);
}
}
class MyNotificationsScreen extends React.Component {
static navigationOptions = {
drawer: () => ({
label: 'Notifications',
icon: ({ tintColor }) => (
<Image
source={require('./notif-icon.png')}
style={[styles.tabIcon, {tintColor: tintColor}]}
/>
),
}),
}
render() {
return (
<Button
onPress={() => this.props.navigation.goBack()}
title="Go back home"
/>
);
}
}
const styles = StyleSheet.create({
icon: {
width: 24,
height: 24,
},
});
const MyApp = DrawerNavigator({
Home: {
screen: MyHomeScreen,
},
Notifications: {
screen: MyNotificationsScreen,
},
});
AppRegistry.registerComponent('SimpleApp', () => SimpleApp);
这个我保存在App.js文件中的所有数据...并且在index.android.js文件中我导入了这个
import './App';
此代码无法正常显示此错误。 这是错误屏幕截图Error Screen
答案 0 :(得分:0)
用下面的代码替换index.android.js文件代码。我已经在下面展示了工作示例。
import React from 'react';
import {
AppRegistry,
StyleSheet,
Button,
Image
} from 'react-native';
import { DrawerNavigator } from "react-navigation";
class MyHomeScreen extends React.Component {
static navigationOptions = {
drawer: () => ({
label: 'Home',
icon: ({ tintColor }) => (
<Image
source={require('./chats-icon.png')}
style={[styles.icon, {tintColor: tintColor}]}
/>
),
}),
}
render() {
return (
<Button
onPress={() => this.props.navigation.navigate('Notifications')}
title="Go to notifications"
/>
);
}
}
class MyNotificationsScreen extends React.Component {
static navigationOptions = {
drawer: () => ({
label: 'Notifications',
icon: ({ tintColor }) => (
<Image
source={require('./notif-icon.png')}
style={[styles.tabIcon, {tintColor: tintColor}]}
/>
),
}),
}
render() {
return (
<Button
onPress={() => this.props.navigation.goBack()}
title="Go back home"
/>
);
}
}
const styles = StyleSheet.create({
icon: {
width: 24,
height: 24,
},
});
const MyApp = DrawerNavigator({
Home: {
screen: MyHomeScreen,
},
Notifications: {
screen: MyNotificationsScreen,
},
});
AppRegistry.registerComponent('SimpleApp', () => MyApp);
答案 1 :(得分:0)
我认为没有任何方法可以在不使用api的情况下应用抽屉导航器我尝试这个但不完整所以我使用api,...你也使用抽屉导航器api这个
答案 2 :(得分:0)
https://snack.expo.io/SJTS5z24Z
import React from 'react';
import {
Button,
} from 'react-native';
import { DrawerNavigator } from "react-navigation";
class MyHomeScreen extends React.Component {
static navigationOptions = {
drawer: () => ({
label: 'Home'
}),
}
render() {
return (
<Button
onPress={() => this.props.navigation.navigate('DrawerOpen')}
title="Open drawer"
/>
);
}
}
class MyNotificationsScreen extends React.Component {
static navigationOptions = {
drawer: () => ({
label: 'Notifications'
}),
}
render() {
return (
<Button
onPress={() => this.props.navigation.goBack()}
title="Go back home"
/>
);
}
}
const MyApp = DrawerNavigator({
Home: {
screen: MyHomeScreen,
},
Notifications: {
screen: MyNotificationsScreen,
},
});
export default MyApp;