我有一个用ES6风格编写的React类,例如:
export default class App extends React.Component {
constructor(props) {
super(props);
let HClass = new HelperClass();
}
}
和我的助手类(存在于同一文件中)类似:
class HelperClass {
constructor() {
this.somevar="";
}
some_function= () => {
//do work
}
}
但是,当尝试构造和运行'some_function'方法时,我收到
TypeErrors
指出该函数未定义。我的问题是:
实例化HelperClass我做错了什么?
我应该做些类似“反应”的事情,而不是这些助手类吗?它们什么也没渲染,但是我需要它们来管理我从ActiveMQ处理的消息。
谢谢!
最佳答案
当前,new HelperClass()
仅在构造函数内部可用。您只能在其中使用some_function
。
通常,您将执行以下操作:
用于特定方法内部:
// outside the constructor
myMethod() {
let HClass = new HelperClass();
HClass.some_function();
}
适用于任何方法:
// inside the constructor
this.props.HClass = new HelperClass();
// to call
this.props.HClass.some_function();
或者,只需使用以下命令:
// inside the constructor
this.HClass = newHelperClass();
// to call
this.HClass.some_function();