这是我的代码,用于动态获取classNames
let _getClassNames = (btn) => {
let className = ("fa icon-btn " + btn.iconClassName + " " + (btn.selected ? "selected-btn" : ""));
console.log(className);
return className;
}
在render方法的返回部分中,在我的深处,我有:
self.props.panelBtns.map((btn) => {
return (
<div key={btn.name}
onClick={(e) => {
self.props.selectOptionFn(btn)
}}
>
<div className={_getClassNames(btn)}></div>
</div>
)
})
从上面的console.log中,我可以获得输出-fa fa-sync icon-btn selected-btn
但是,在DOM上缺少selected-btn
。
注意:这是在shouldComponentUpdate()之后在render中调用的代码,这意味着我的这段代码在操作发生后被调用。
为什么selected-btn
类消失了?
更新:
我了解它适用于父元素,但这会添加不必要的代码和与其相关的CSS。