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

使用onClick或onChange函数[duplicate]对此作出反应

张璞
2023-03-14

我正在调用react组件中的函数

<button onClick={this.createComment}>Submit Comment</button>

在我的createComment函数中,“由于某些原因,此”未定义

createComment(event) {
    console.log('inside createComment')
    console.log('event', event)
    console.log('this', this)

    event.preventDefault()
  }

我需要在createComment函数中调用this.setState。如何使this成为组件的this??

共有1个答案

夏学名
2023-03-14

改变这个:

onClick={this.createComment}

onClick={(e) => this.createComment(e)}

或者

onClick={this.createComment.bind(this)}

注:

正如@rafahoro所评论的:

您应该更喜欢在构造函数上绑定“this”:

constructor() { 
     this.createComment = this.createComment.bind(this); 
} 

使用"onClark={(e)=

 类似资料:
  • 我在React函数组件和默认所需道具方面遇到问题。 以下是组件: 我应该能够在不传递道具: 但是,TypeScript引发类型错误属性“message”在类型“{}”中丢失,但在类型“Props”中是必需的: 下面是代码沙盒中的问题:https://codesandbox.io/s/still-microservice-lp7b5?fontsize=14 我不确定我是做错了什么,还是这是打字稿中的

  • 我是React的新手,我正在尝试用API编写一个应用程序。我一直得到这个错误: TypeError:This.SetState不是函数 当我尝试处理API响应时。我怀疑这装订有问题,但我不知道如何修理它。下面是我的组件的代码:

  • 问题内容: 我正在寻找一种仅单击 a-tag* 即可调用 PHP函数 的简单解决方案。 * PHP: HTML: 更新: html和PHP代码在同一个PHP文件中 问题答案: 首先,请了解您有三种语言一起使用: PHP:它仅由服务器运行,并响应诸如单击链接(GET)或提交表单(POST)之类的请求。 HTML和JavaScript:它只能在某人的浏览器中运行(NodeJS除外)。 我假设您的文件如

  • 这里有个问题(如果你可以这么叫的话),每次我编写包含函数的JS时,它都不起作用。我知道这和空格、换行或诸如此类的东西有关。也许我不知道规则或语法。我正在使用Sublime文本3(如果它是相关的)。如果你向我解释原因,我会很感激,这样我就不会再面临这个问题了。这是一个在我的计算机上不起作用的代码 null null

  • 我有一个棘手的任务要在Java中完成。我必须用作为lambda表达式传递的代码对mouseclick做出反应(在控制台打印'OK')。问题是我不能修改主类,我必须准备类/接口来接收lambda表达式。我试着去学习Lambda表达式的教程,但是我不断地得到关于使用非函数接口的错误。主: 你们有更多经验的人能给我一些建议,我如何开始处理这个问题?我开始创建一个类,但后来就迷路了(我创建了这个类,并且使

  • 这在React版本0.12中工作得非常好: 变量获取呈现组件的实际DOM节点。但是,将其转换为React 0.13并不像预期的那样工作: 我尝试了React.findDOMNode(this),它也不起作用。基本上,我只是试图获取由渲染函数渲染的顶级dom节点,而不使用ref。这有可能吗?