我已经创建了几个具有特定内容标题的部分。
我想在不同部分上方悬停显示一个简短的预览。
有没有人知道如何使用条件渲染反应组件来创建hoverActionHandler?
答案 0 :(得分:28)
您可以使用onMouseEnter
和onMouseLeave
来更改状态,并根据状态值有条件地渲染组件。
查看实际操作:https://codesandbox.io/s/XopkqJ5oV
import React, { Component } from 'react';
class HoverExample extends Component {
constructor(props) {
super(props);
this.handleMouseHover = this.handleMouseHover.bind(this);
this.state = {
isHovering: false,
};
}
handleMouseHover() {
this.setState(this.toggleHoverState);
}
toggleHoverState(state) {
return {
isHovering: !state.isHovering,
};
}
render() {
return (
<div>
<div
onMouseEnter={this.handleMouseHover}
onMouseLeave={this.handleMouseHover}
>
Hover Me
</div>
{
this.state.isHovering &&
<div>
Hovering right meow!
</div>
}
</div>
);
}
}