当前位置: 首页 > 知识库问答 >
问题:

为什么我总是得到一个缺少分号的错误,而它明明就在我的构造函数上呢?

微生毅然
2023-03-14
constructor(props) {
    super(props);
    this.state = {
      secureInput: !(props.inputType === "text" || props.inputType === "email")
    };
  }

共有2个答案

徐柏
2023-03-14

不能在类级别中声明变量。您可以将它们移出类,也可以将它们定义为类属性。

js prettyprint-override">const inputColor = textColor;
// ...

class InputField extends Component {
  constructor(props) {
    super(props);
    this.state = {
      secureInput: !(props.inputType === "text" || props.inputType === "email")
    };
  }

  // ...
}

class InputField extends Component {
  inputColor = textColor;
  // ...
  
  constructor(props) {
    super(props);
    this.state = {
      secureInput: !(props.inputType === "text" || props.inputType === "email")
    };
  }

 // ...
}
贾飞鸿
2023-03-14

实际问题是您将构造函数放在了错误的部分。

必须将构造函数放置在类的根级别上。
以以下示例为例

❌
class Abc ... {
  render() {
    const a = ...
    const b = ...
    constructor() {
      ...
    };
    ...
  }
}

现在,正确的做法是:

✔️
class Abc ... {
  constructor() {
    ...
  }
  
  render() {
    const a = ...
    const b = ...
    ...
  }
}
 类似资料:
  • 这是我的机器人的完整代码,只是想告诉你,除了help命令之外,我没有在任何地方使用过help。这太令人困惑了,哈哈。 问题是这些行,它说帮助已经定义,但它不是?当我使用清除命令而不是清除命令时,我也遇到了同样的问题。它只是不停地说这个命令已经被使用了。这让我很困惑,哈哈。 以下是错误代码:

  • 这是我的代码: 所以这里有一个无限循环错误(Stackoverflow)。但是,如果我注释掉我创建的两个对象中的任何一个,这都没关系。 我的代码中的对象如何导致Stackoverflow错误?

  • 我想在三月计划一个月时间表,而不是使用静态成员。你不需要解释那些评论。“日”和“月时间表”都是类。 在我执行这段代码之前,它有两个错误。一个是“三月[]日”这句话这是一个错误。另一个是'for(int i=0;i 我不明白这些句子错在哪里。语法错误是什么?

  • 问题内容: 嗨,我是Android编程的新手,我想问的问题可能很简单,但是我对如何使其工作一无所知,请多多包涵。 我从Android开发人员网站安装了android-sdk和相关工具。我按照他们的指示创建了HelloWorld应用,但出现了一些我不理解的错误。 文件MainActivity.java是一个自动生成的文件,在以下位置,我不断出现此文件错误: 因此,我尝试浏览生成的class文件中的l

  • 它适用于我声明的结构xy。为什么相同的模式不适用于复杂的 错误消息: 我最好的猜测是这与

  • 我在为继承另一个类属性的类定义构造函数时遇到困难 我在第 18 行(方面遇到了问题。 我收到的错误发生在我申报< code >运输的地点。 如代码所示,运输类是主体类,继承 这个错误发生在int 最后一个错误发生在两个字符串变量上。