Tôi hiện đang xây dựng một nút thả xuống để tìm hiểu React. Tôi đã thực hiện hai sự kiện onMouseEnter và onMouseLeave trong div cha để hiển thị khi di chuột biến mất khi không. Vấn đề là những sự kiện đó chỉ dính vào cha mẹ.Cách tạo onMouseLeave trong React bao gồm bối cảnh con?
Cách tạo onMouseLeave trong React bao gồm ngữ cảnh con? Hoặc, làm thế nào tôi có thể giữ cho trạng thái mở rộng là đúng khi lơ lửng trên trẻ em?
class DropDownButton extends React.Component {
constructor(){
super();
this.handleHoverOn = this.handleHoverOn.bind(this);
this.handleHoverOff = this.handleHoverOff.bind(this);
this.state = {expand: false};
}
handleHoverOn(){
if(this.props.hover){
this.setState({expand: true});
}
}
handleHoverOff(){
if(this.props.hover){
this.setState({expand: false});
}
}
render() {
return (
<div>
<div className={styles.listTitle}
onMouseEnter={this.handleHoverOn}
onMouseLeave={this.handleHoverOff}>
{this.props.name}
</div>
<div>
{React.Children.map(this.props.children, function(child){
return React.cloneElement(child, {className: 'child'});
})}
</div>
</div>
);
}
}
Nó hoạt động. Tôi đã làm một sai lầm ngu ngốc, và vẽ có điều kiện là hữu ích cho tôi quá. Cảm ơn! –