Javascript 使用react js隐藏行的特定元素

Javascript 使用react js隐藏行的特定元素,javascript,reactjs,Javascript,Reactjs,我有一个div元素数组,如下所示:- var accdata = []; for(var i = 0;i < returndata1.length;++i){ accdata.push( <div className="data-main" onMouseEnter={this.toggleHover} onMouseLeave={this.toggleHover}> <span className="data-child">{returndata1[i].

我有一个div元素数组,如下所示:-

var accdata = [];
for(var i = 0;i < returndata1.length;++i){
accdata.push(
<div className="data-main" onMouseEnter={this.toggleHover} onMouseLeave={this.toggleHover}>
    <span className="data-child">{returndata1[i].Project}</span>
    <span className={this.state.cls}>
        <span className="flag"></span>
        <span className="share"></span>
        <span className="star"></span>                  
    </span>
</div>
);
}

但在鼠标悬停时,所有分区的跨度元素都消失了。如果将鼠标移到某一行上,只有该行的span元素消失,如何设置like?

实现这一点的最简单方法是使用css。下面是一个使用一些通用css类的示例:

反应:

var accdata = [];
for(var i = 0;i < returndata1.length;++i){
    accdata.push(
        <div className="data-main">
            <span className="data-child">{returndata1[i].Project}</span>
            <span className="icon-display">
                <span className="flag"></span>
                <span className="share"></span>
                <span className="star"></span>                  
            </span>
        </div>
    );
}

实现这一点的最简单方法是使用css。下面是一个使用一些通用css类的示例:

反应:

var accdata = [];
for(var i = 0;i < returndata1.length;++i){
    accdata.push(
        <div className="data-main">
            <span className="data-child">{returndata1[i].Project}</span>
            <span className="icon-display">
                <span className="flag"></span>
                <span className="share"></span>
                <span className="star"></span>                  
            </span>
        </div>
    );
}

我没有看到任何数组。请提供一个完整但最少的示例。请记住,ID在整个页面中必须是唯一的。对不起。现在我已经发布了我的最新代码。我删除了id。您必须以某种方式记住悬停行的索引,并且只将类应用于该行。这可能是将此div封装到新组件中的好机会。如果我是您,我会将“cls”作为状态变量应用于accdata数组的每个元素,并记住它们的状态。然后在onMouseLeave函数中,选择元素的索引并相应地更改它自己的cls状态。请提供一个完整但最少的示例。请记住,ID在整个页面中必须是唯一的。对不起。现在我已经发布了我的最新代码。我删除了id。您必须以某种方式记住悬停行的索引,并且只将类应用于该行。这可能是将此div封装到新组件中的好机会。如果我是您,我会将“cls”作为状态变量应用于accdata数组的每个元素,并记住它们的状态。然后在onMouseLeave函数中,选择元素的索引并相应地更改它自己的cls状态。
.data-main .icon-display {
    display: inline;
}

.data-main:hover .icon-display {
    display: none;
}