简体   繁体   English

单击React js循环中的第一个元素

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM