【发布时间】:2018-09-15 10:19:05
【问题描述】:
我正在尝试在带有 JSS 的反应组件中为悬停样式使用函数值(我正在使用 styled-jss 库)。我只希望在“已编辑”道具为真时应用悬停样式。目前对于悬停部分,我有这个:
'&:hover': {
background: props => props.edited && 'purple',
cursor: props => props.edited && 'pointer',
...
}
这很好用,但正如你所见,我必须对每个悬停 CSS 值进行函数值检查。我只想在开始时检查一次,如果为真则返回对象:
'&:hover': props => props.edited && {
background: 'purple',
cursor: 'pointer',
...
}
但是似乎不支持这种语法或类似的东西,我在任何地方都找不到任何这样的例子。有没有一种简单的方法可以做到这一点?还是只需要对悬停对象中的每个属性进行函数值检查?
编辑:
这是我的样式化组件及其 JSS 以及我如何使用它们的基本通用示例:
/* style.js */
import styled from 'styled-jss';
const div = styled('div');
export const Style = {
UpdateButton: div({
color: props => !props.edited && 'grey',
width: '200px',
'&:hover': {
background: props => props.edited && 'purple',
cursor: props => props.edited && 'pointer'
}
})
};
然后在我的 react 组件中:
import { Style } from './style';
class Settings extends Component {
render() {
return(
<Style.UpdateButton/>
);
}
}
);
【问题讨论】:
标签: css reactjs function styled-components jss