所以我有一个Drawer.Js使用' react-native-off-canvas-menu'唯一目的是打开和关闭抽屉。问题是这个抽屉只能用手势打开和关闭(向左/向右滑动)。我想用一个按钮绑定这个打开和关闭功能。问题是当我尝试从Home.Js调用函数handleClick到我的Drawer.Js时显示错误
在我的Drawer.Js里面
class FirstScreen extends Component {
constructor(props) {
super(props);
this.state = {
menuOpen: false
};
this.handleClick = this.handleMenu.bind(this);
}
handleMenu() {
const { menuOpen } = this.state;
this.setState({
menuOpen: !menuOpen
});
}
// Some Render Method Where i tried to create a button, and calling
this.handleMenu() on the onPress event, and it's successful
*//After the Render Method
export function a() {
return this.handleClick();
}
我也在使用本机路由器反应,我的应用程序的第一个路径是Home.js,在Home.js中,我将按下按钮触发抽屉打开。
这是我的Home.js代码 * //一些导入
import { a } from './Drawer';
class Home extends Component {
constructor(props) {
super(props);
this.handleKlik = this.handleKlik.bind(this);
}
handleKlik() {
a();
}
*// Render Method Start
<View>
<TouchableOpacity onPress={() => this.handleKlik()}>
<View style={styles.btnContainer}>
<Text style={styles.btnText}>{'Toggle'.toUpperCase()}
</Text>
</View>
</TouchableOpacity>
<View>
好吧,在Home.js,当我试图点击按钮时,我收到了错误,例如“未定义”不是一个功能(评估&#39; this.handleClick&#39;)&#39;。
我想我知道导出功能可能出问题的问题。任何人都可以详细说明我该如何解决这个问题?我已经阅读了教程,我似乎无法理解为什么在我的项目中调用另一个Js文件中的函数如此困难