【发布时间】:2019-12-10 13:02:32
【问题描述】:
每次单击图像时,我都希望为每个 div 获取不同的随机数。目前,我收到所有 div 元素的相同随机数,但我不知道如何将它分开。我会很感激任何想法。
class App extends Component {
constructor(props) {
super(props);
this.state = {
randomNumber: 0
};
this.handleClick = this.handleClick.bind(this);
}
handleClick() {
const min = 0;
const max = 9;
const randFloorNumber = Math.floor(min + Math.random() * (max - min));
this.setState({
randomNumber: randFloorNumber
});
}
render() {
const divs = [1, 2, 3, 4, 5, 6, 7];
let div = divs.map( div =>
<div key={divs.div} className="App-number-div col border border-info">
{this.state.randomNumber}
</div>
);
return (
<div className="App">
<img src={logo} alt="Logo" onClick={this.handleClick} />
<div className="container">
{div}
</div>
</div>
);
}
}
【问题讨论】:
-
既然您只使用生成的div中的数字,您不能返回随机数而不是设置状态,并在每次迭代时调用函数吗?
{getRandomNumber()}
标签: javascript reactjs random onclick dom-events