React-Native需要一个来自非班级的班级。 .js并使用函数

时间:2016-07-01 10:44:38

标签: class controller react-native require

我尽量保持简短。

  

我想"外包"我的逻辑功能我需要超过3-4个班级。因此我创建了一个.js文件并输入了该函数。 But i did not create a class for it。相反,我使用以下语法:

var myMainClassWithTheFunction = require('./myMain...');

var FunctionHandler = {
    myFunction(){
        myMainClassWiththeFunction.testFunction();            
    }
}

module.exports = FunctionHandler
  

在这个函数里面我想使用另一个类的方法 - >该类的结构类似于以下

class MyMainClass.. extends Component {
    constructor(props){
        super(props);
    }
static testFunction(
    alert("Test");
)
render(){...}
}

module.exports = MyMainClass;
  

MyMainClass类正在运行(通过许多其他调用检查 - 但是那些来自其他类的调用)

     

我还使用函数testAlert()测试了来自myFunction的{​​{1}}。

主要问题 至于我尝试从MainClass调用FunctionHandler我得到以下错误:

undefined不是一个函数(评估' myMainClass.testFunction()'

  • 我尝试了静态/非静态功能

我的问题 我怎样才能解决这个问题 - 或者你甚至知道外包逻辑行为的更好方法

2 个答案:

答案 0 :(得分:0)

您要导出课程MyMainClass而不是ListViewMain。我假设您在同一个文件中有多个类:MyMainClassMyMainClass。将MyMainClass移至单独的文件并导出module.exports = {ListViewMain, MyMainClass}; 或将导出更改为:

var {MyMainClass} = require('./myMainClass');

使用它

export class MyMainClass extends Component {...}

或者您可以使用ES6语法:

import {MyMainClass} from './myMainClass';

使用它

exec

答案 1 :(得分:0)

经过几个小时的搜索我的问题在这里我发现:

  

如果你像我一样填充js-file var。您不能在另一个classes中要求其他var并使用其他var中的var's(在我的情况下,我的FunctionHandler var

<强>解决方案

  

我需要我的var中的类,所以我可以使用它们。

var FunctionHandler = {
    var myMainClassWithTheFunction = require('./myMain...');

    myFunction(){
        myMainClassWiththeFunction.testFunction();            
    }
}

module.exports = FunctionHandler

我相信很多人现在都会睁大眼睛,如果他们读到这个并认为“这很明显”,但对我来说这是一个时间密集的问题。希望任何人都可以帮助