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

这个方法不是一个函数

嵇俊德
2023-03-14

我有一个打字稿2类,目标是ES5。当我运行它时,我在控制台的主题行中得到了错误。Switch语句工作正常,但增量()和减量()方法不执行。

class MyClass extends React.Component{
  ...
  increment() {
    console.log('increment()')
    ...
  }
  decrement() {
    console.log('decrement()')
    ...
  }

  buttonClick(btn) {
    console.log(btn)
    switch (btn) {
        case "prev":
            console.log('switch prev')
            this.decrement();
            //this.decrement;
            break;
        default:
            console.log('switch next')
            this.increment();
            //this.increment; eliminates err but method still doesnt execute
            break;
    }
  }
}

共有1个答案

上官彬
2023-03-14

确保将绑定到函数,以便调用函数时的值符合预期:

class MyClass extends React.Component{
  constructor() {
    super()
    this.increment = this.increment.bind(this)
    this.decrement = this.decrement.bind(this)
    this.buttonClick = this.buttonClick.bind(this)
  }
  increment() {
    console.log('increment()')
  }
  decrement() {
    console.log('decrement()')
  }
  buttonClick(btn) {
    // ...
  }
}

如果愿意,还可以使用属性初始化箭头函数:

class MyClass extends React.Component{
  increment = () => {
    console.log('increment()')
  }
  decrement = () => {
    console.log('decrement()')
  }
  buttonClick = (btn) => {
    // ...
  }
}
 类似资料:
  • 问题内容: 我正在尝试使用jQuery和Ajax,并且使用了这种方法。但是我收到错误$ .toJSON不是firebug中的函数。问题出在哪里?我使用jquery 1.3.2。谢谢 问题答案: 没错 没有功能:http : //api.jquery.com/jQuery.toJSON。也许您想使用它。

  • 我对从我的组件调用异步操作有问题,我想我做了工作所需的一切,但似乎没有,我使用了: 将调度映射到属性 在里面我回来了 操作:bindActionCreators(fetchPosts,调度) 我把它连接起来。 在所有这些事情之后,我试着在我的组件中调用这个动作- this . props . actions . fetch post() 结果我在控制台中收到这个错误- this.props.act

  • 我试着按照教程angular.io(游览英雄)但不是教程,我试着在一些JSON上提出真正的GET请求。 我的代码如下所示: 为了服务,我只进口一些基本的东西: 其中是TOH中的基本副本,所以: 如何在服务中调用此特定方法:首先,我尝试多种方法,但在调试时,我只尝试控制台。将其记录为: 在控制台中加载页面时,我发现多个错误:第一个错误是: 例外:TypeError:这是一个错误。http。得到(…)

  • 问题内容: 我试图编写登录到网站的节点功能,但无法使其正常工作。我试图等待页面使用加载功能 这是我到目前为止的内容: 当我运行该函数时,我收到错误消息。这是怎么回事,我想念什么? 问题答案: 为了与其他硒语言绑定的一致性, 并已被弃用。 如果您使用,则应尝试使用代替来确定元素是否存在,如下所示: 或者,如果您要等到欲望元素出现,则应尝试使用以下方法:

  • 我试图使用rxjs输入自动完成的目的,但我一直得到这些错误TypeError:terms.debounce时间不是一个函数,即使我设置这些导入'rxjs/操作员/DebounceTime'; 我称之为的函数是:

  • 在Angular2中尝试一个代码,它的HTML正在运行,但Angular代码没有执行,它表示我从HTML传递的值不是函数。请帮忙! HTML:app.html - 我正在尝试显示学生的详细信息。我在angular app.component.ts文件中有一个项目列表,我在HTML页面上调用它,工作正常。但是当我将单击事件的值传递给 app.component.ts 时,它会给出错误并在控制台上显示