如何从React Native中的其他JS文件调用函数?

时间:2017-08-02 17:17:41

标签: javascript react-native

所以我有一个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文件中的函数如此困难

0 个答案:

没有答案