【发布时间】:2017-09-27 20:15:23
【问题描述】:
您认为使用 React 内联样式处理样式伪选择器的好方法是什么?有什么好处和坏处?
假设每个 React 组件都有一个 styles.js 文件。您使用该样式文件为组件设置样式。但是你想在一个按钮(或其他)上做一个悬停效果。
一种方法是拥有一个全局 CSS 文件并以这种方式处理样式伪选择器。这里,“label-hover”类来自全局 CSS 文件,styles.label 来自组件样式文件。
<ControlLabel style={styles.label} className='label-hover'>
Email
</ControlLabel>
另一种方法是根据特定条件(可能由状态或其他触发)设置组件样式。在这里,如果悬停状态为真,则使用 styles.button 和 styles.buttonHover 否则只需使用 styles.button。
<section
style={(hovered !== true) ?
{styles.button} :
{...styles.button, ...styles.buttonHover }>
</section>
这两种方法都让人感觉有点老套。如果有人有更好的方法,我很想知道。谢谢!
【问题讨论】: