【发布时间】:2019-12-28 05:33:25
【问题描述】:
我有 3 个 div 和 onClick,我想获取每个 div 的 ID。
(最后,我想添加一个随机播放功能,以随机播放 div)。但目前,我只想获取每个人的 ID。
如果我在每个 div onClick 上 console.log this,我似乎只能得到最后一个 div 的值。无论我点击哪个 div。
最好的方法是什么?
我读过React.createRef(),但这似乎不会为每个 div 生成唯一的 ID。 (我读过最好不要在反应中使用document.getElementByID())。
那么最好的方法是什么?
这是我目前的代码!
import React, { useState } from 'react';
class Cylinders extends React.Component {
constructor(props) {
super(props);
this.myRef = React.createRef();
this.state = {
ball: ''
}
}
componentDidMount = () => {
console.log('mount');
}
generateShuffle = () => {
console.log('shuffel');
console.log('this', this);
}
render() {
return (
<section>
<div className="columns is-mobile">
<div className="column">
<h1 className="title has-text-black is-size-2">Cylinders Game</h1>
</div>
</div>
<div className="columns is-mobile">
<div className="column">
<button className="title has-text-black is-size-2">Ball container</button>
</div>
</div>
<div className="columns is-mobile">
<div className="column">
<div className="columns is-multiline">
<div
onClick={this.generateShuffle}
className="hat1"
// ref="1"
ref={this.myRef}
id="1">
</div>
</div>
</div>
<div className="column">
<div className="columns is-multiline">
<div
className="hat2"
ref={this.myRef}
id="2"
onClick={this.generateShuffle}>
</div>
</div>
</div>
<div className="column">
<div className="columns is-multiline">
<div className="hat3"
ref={this.myRef}
id="3"
onClick={this.generateShuffle}>
</div>
</div>
</div>
</div>
</section>
);
}
}
export default Cylinders;
【问题讨论】:
标签: javascript reactjs dom onclick getelementbyid