Attualmente sto costruendo un pulsante a discesa per imparare Reagire. Ho fatto due eventi onMouseEnter e onMouseLeave nel genitore div per renderlo visibile quando si passa sopra con il mouse quando non lo fa. Il problema è che quegli eventi si limitano al genitore.Come rendere onMouseLeave in React include il contesto figlio?
Come rendere onMouseLeave in React include il contesto figlio? Oppure, come posso mantenere lo stato di espansione vero quando si posiziona il mouse sui bambini?
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>
);
}
}
Funziona. Ho fatto uno stupido errore e anche il rendering condizionale è utile per me. Grazie! –