[英]clicking first element in loop of react js
What I want to do if user clicks on element then add a class on element and also, I have below repeat code, where I want to trigger click on first element of loop when components get loaded or either add class. 如果用户单击元素,然后在元素上添加一个类,我想做的事情,还有下面的重复代码,当组件加载或添加类时,我想在其中触发循环的第一个元素的点击。
Whichever is feasible. 以可行为准。
Object.keys(this.state.cdata).map((id,val) => {
return (
<div key={val} onClick={this.select.bind(this, this.state.cdata[id].id)} >
<div><i className="fa fa-globe" aria-hidden="true"></i>
<div className="country-name">{this.state.cdata[id].name}</div>
<input type="text" value={this.state.cdata[id].name} className="hidden" onChange={this.edit} onKeyPress={this.check}/>
</div>
</div>
)
})
I think you can use componentDidMount
for this like: 我认为您可以像这样使用
componentDidMount
:
componentDidMount() {
this.setState({ loaded: 'newClass' });
}
and in your code just add the class by checking the index 然后在代码中通过检查索引添加类
Object.keys(this.state.cdata).map((id,val) => {
return (
<div key={val} className={val === 0 && this.state.loaded} onClick={this.select.bind(this, this.state.cdata[id].id)} >
<div><i className="fa fa-globe" aria-hidden="true"></i>
<div className="country-name">{this.state.cdata[id].name}</div>
<input type="text" value={this.state.cdata[id].name} className="hidden" onChange={this.edit} onKeyPress={this.check}/>
</div>
</div>
)
})
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.