在组件构造函数之外使用时变量未定义

时间:2018-12-31 22:08:09

标签: javascript reactjs constructor electron

我正在使用React和Electron进行项目,但出现错误。我有一个带有构造器的组件,该构造器带有道具(以两个变量的形式出现)。该构造器在一个单独的文件中实例化。问题是该变量在构造函数中工作正常(例如,如果执行RegisterType以进行输出),但在变量之外,该变量未定义就返回。

我已经尝试使用RegisterType来绑定它,但这并没有帮助,它仍然显示为undefined。

在这里调用构造函数:

console.log

这里是构造函数,也是我尝试在其中使用变量的示例:

.bind

我希望变量在构造函数和文件中其他位置的函数中都相同,但是由于某种原因,它仅在构造函数中定义。

1 个答案:

答案 0 :(得分:0)

您可以使用this.props.monaco。或者,如果您重写道具,则可以将其传递给changeLanguage函数

private void OnMouseDown()
{
    float goalDistance = Vector2.Distance(monster.transform.position, transform.position);

    float currentSize = mySpriteRenderer.bounds.size.x;

    float goalScaleRatio = goalDistance/currentSize;

    transform.localScale *= goalScaleRatio;
}

并将其命名为:changeLanguage(language, props) { // Returns undefined all the time console.log(props.monaco); props.monaco.editor.setModelLanguage(this.editor, language); }