我是反应原生的新手。我尝试做的是在屏幕上放一个抽屉,用"菜单"打开它。工具栏中的按钮。 我知道我必须使用回调函数,我之前搜索了很多主题和相关问题,例如this one,但我无法做到。几乎疯了。这是我的代码:
/**
* @flow
*/
const React = require('react');
const ReactNative = require('react-native');
const { View, Text, DrawerLayoutAndroid } = ReactNative;
class Profile extends React.Component<{}> {
static navigationOptions = {
title: 'Profile',
headerRight: <Text>Menu</Text>,
};
constructor() {
super();
this.openDrawer = this.openDrawer.bind(this);
}
openDrawer() {
this.ref.drawer.openDrawer();
}
render() {
const navigationView = (
<View style={{ flex: 1, backgroundColor: '#fff' }}>
<Text style={{ margin: 10, fontSize: 15, textAlign: 'left' }}>Im in the Drawer!</Text>
</View>
);
return (
<DrawerLayoutAndroid
drawerWidth={300}
drawerPosition={DrawerLayoutAndroid.positions.Left}
renderNavigationView={() => navigationView}
ref={(_drawer) => {
this.drawer = _drawer;
}}
>
<View style={{ flex: 1, alignItems: 'center' }}>
<Text style={{ margin: 10, fontSize: 15, textAlign: 'right' }}>Hello</Text>
<Text
style={{ margin: 10, fontSize: 15, textAlign: 'right' }}
onPress={this.openDrawer()}
>
World!
</Text>
</View>
</DrawerLayoutAndroid>
);
}
}
export default Profile;
&#13;
每次运行代码时,我都会得到&#34; undefined不是对象&#34;。
此外,我不知道如何将openDrawer()
放入static navigationOptions
。
非常感谢帮助!