【发布时间】:2020-05-27 01:58:19
【问题描述】:
我有一个按钮,我试图在我的 React 组件中单击该按钮,该按钮应该执行一个函数,该函数带有一个名为“item”的参数,该参数在返回此伪 HTML 的函数中定义:
<div>{item.creationDate}</div>
<PrimaryButton text={strings.LangPointer}
onClick={() => this.emitComponentId(item)}/>
当我尝试运行它时,它给了我“无法读取属性emitComponentId of undefined。”。
我尝试了多种解决方案,但都没有工作并给我同样的错误:
onClick={this.emitComponentId.bind(this)}
定义
组件构造函数中的this.emitComponentId = this.emitComponentId.bind(this)
() => this.emitComponentId(item).bind(this) --> 甚至不允许我编译,因为 'void' 不是可接受的返回类型
我尝试过的基本上没有任何效果,并且总是给我相同的结果。
【问题讨论】:
-
上面第一段代码的上下文是什么?是在
render() {...}内,还是在export default class App extends React.Component {...}定义内?只是想解决这个问题。 -
它在一个名为
renderTaskItem的函数中,该函数由render()中的onRenderCell属性调用。 -
只添加调用代码好吗?刚刚查看了我拥有的一个可用的 React 示例,您是否将其称为
return ( ... {this.renderOtherThing()} ....)?另外,这是唯一的错误吗?有时,较早的错误会级联成其他错误。 -
是的,这就是我正在做的事情。我认为没有其他错误,因为没有 onclick 功能它可以正常工作,这是我正在开发的一个新功能。
-
刚刚在 React 中找到了我的一个 onClick 的示例,我已经将它设置为这样,也许这样会更好?
onClick={(e) => this.handleClick(e)}(有事件吗?)另外,handleClick(e) {...}在类 def, obv 中。
标签: reactjs typescript spfx