1. React类组件中根据flag的值变化,动态添加onClick点击事件:
flag为true时返回的是一个包含onClick属性的对象,属性值为一个箭头函数,再使用ES6扩展运算符对对象进行展开;
2. React类组件中根据flag的值变化,动态添加hover样式:用到onMouseOver、onMouseLeave两个事件,鼠标移入元素时触发onMouseOver执行,isHover值设置为true,flag和isHover值军委true时style中的textDecoration样式值为'underline'。
<div
{...(this.state.flag ? {
onClick: () => console.log('点击事件'),
onMouseOver: () => this.setState({ isHover: true }),
onMouseLeave: () => this.setState({ isHover: false }),
} : {})
}
style={
{
cursor: this.state.flag ? 'pointer' : 'default',
textDecoration: this.state.flag && this.state.isHover ? 'underline' : 'auto'
}}
>
文本
</div>