我很新来做出反应。我注意到许多人都this
将其DOM的元素功能绑定在一起。
假设我有一个组件:
render(){
<div>
<button onClick={this.doSomething.bind(this)} test={someObj}></button>
</div>
}
doSomething(){
this.props.whatever();
}
现在,在我看来,this
绑定到是有道理的this.doSomething
,因为否则this
它将是按钮组件对象,而this.props将相对于按钮的props,这是我不想要的。
所以我陷入了一种情况,我想从按钮的道具(test
物体)中得到一些东西。我想我可以做的是:bind(this)
从通话中删除,因此this.props
按钮的道具也将删除。但是,当我this.doSomething
不使用bind进行调用时,this
返回的是null(也许我以某种方式搞砸了)。
我猜那我的逻辑是有缺陷的。我想知道绑定this
到处理程序的真正目的是什么,以及是否有一种方法可以访问DOM元素的道具(或者至少如何test
在示例中获取)。
您可以按以下方式在按钮中存储数据值:
render(){
<div>
<button data-value="item1" onClick={this.doSomething.bind(this)} test={someObj}></button>
</div>
}
并使用以下命令进行访问:
doSomething(event){
console.log(event.target.dataset.value)
this.props.whatever();
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句