Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/460.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从另一个文件调用类中的函数_Javascript_Reactjs - Fatal编程技术网

Javascript 如何从另一个文件调用类中的函数

Javascript 如何从另一个文件调用类中的函数,javascript,reactjs,Javascript,Reactjs,我正试图找出如何完成以下任务。我希望能够调用另一个文件中类中的函数: 文件1 文件2 ES5*/函数Canonical(){} myMethod(){…}Canonical.prototype.myMethod=函数(){…}; } 你可以这样称呼它: Canonical.prototype.myMethod(); //或者,将其作为对象上的方法调用 Canonical.prototype.myMethod.call(anObject); 但是,您创建的不是方法,而是在每个实例上创建的属性,

我正试图找出如何完成以下任务。我希望能够调用另一个文件中类中的函数:

文件1

文件2

ES5*/函数Canonical(){} myMethod(){…}Canonical.prototype.myMethod=函数(){…}; } 你可以这样称呼它:

Canonical.prototype.myMethod();
//或者,将其作为对象上的方法调用
Canonical.prototype.myMethod.call(anObject);
但是,您创建的不是方法,而是在每个实例上创建的属性,它恰好是一个函数:

类异常{/*在ES5*/函数异常()中{
myFunction=()=>{…};this.myFunction=function(){…};
}                                            }
它只存在于实例上,因此您必须创建一个实例来调用它:

new unspecial().myFunction();
然而,我不能推荐这种定义“方法”的方法,除非您特别需要它是预先绑定的。这在
React.Component
类中很有用,但现在有了React钩子,用例正在减少

类测试{

构造函数(){this.a='
newsomething().myFunction(…)
您需要了解静态和非静态方法。您可能需要实例化该类或使函数成为静态的
myFunction
是一个实例方法,而不是静态实例/非静态方法不能使用类名调用。看来更新函数以使用静态方法解决了问题。您是否可以发布回答,这样我就可以接受了?
export class Something {
  constructor() {
    ...
  }
  myFunction = () => {
    ...
  }
}
import { Something } from 'file1';

export function theFunction() {
  if (condition met) {
    Something.myFunction(...) // The myFunction is saying it's not a function
  }
}