React:是否可以访问DOM元素的props?

巴罗佐

我很新来做出反应。我注意到许多人都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在示例中获取)。

德巴布拉塔·莫汉塔(Debabrata Mohanta)

您可以按以下方式在按钮中存储数据值:

 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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章