在我的React-native项目中,我创建了一个Drawer导航。在该抽屉式导航中,我声明了两个项目并为其创建了单独的类。现在,问题是我想在“抽屉”导航的标题部分中显示配置文件图像和文本。图像和文本的值将来自AsyncStorage。
这是我的项目的代码-
import * as React from 'react';
import { Text, View, Image, ScrollView, StyleSheet } from 'react-native';
import { Constants } from 'expo';
import {
createDrawerNavigator,
createAppContainer,
DrawerItems,
SafeAreaView,
} from 'react-navigation';
import { Ionicons } from '@expo/vector-icons';
class Home extends React.Component {
static navigationOptions = {
title: 'Home',
drawerIcon: ({ focused }) => (
<Ionicons name="md-home" size={24} color={focused ? 'blue' : 'black'} />
),
};
render() {
return (
<View style={styles.container}>
<Text
style={styles.paragraph}
onPress={() => {
this.props.navigation.navigate('Profile');
}}>
Go to profile
</Text>
<Text
style={styles.paragraph}
onPress={() => {
this.props.navigation.toggleDrawer();
}}>
Toggle Drawer
</Text>
</View>
);
}
}
class Profile extends React.Component {
static navigationOptions = {
title: 'Profile',
drawerIcon: ({ focused }) => (
<Ionicons name="md-person" size={24} color={focused ? 'blue' : 'black'} />
),
};
render() {
return (
<View style={styles.container}>
<Text
style={styles.paragraph}
onPress={() => {
this.props.navigation.navigate('Home');
}}>
Go back home
</Text>
</View>
);
}
}
const CustomDrawerContentComponent = props => (
<ScrollView>
<SafeAreaView
style={styles.container}
forceInset={{ top: 'always', horizontal: 'never' }}>
<DrawerItems {...props} />
<Image
style={styles.image}
source={{
uri: 'https://appjs.co/wp-content/uploads/2015/09/brent3-458x458.png',
}}
/>
</SafeAreaView>
</ScrollView>
);
const navigator = createDrawerNavigator(
{
Home,
Profile,
},
{
// drawerType: 'back',
// drawerPosition: 'right',
// drawerWidth: 200,
// drawerBackgroundColor: 'orange',
// contentComponent: CustomDrawerContentComponent
}
);
export default createAppContainer(navigator);
因此,现在我不知道如何在 CustomDrawerContentComponent 中调用 AsyncStorage 并获得所需的值来显示用户个人资料图像和文本。
我需要一个解决方案。