これは私の最初の投稿です。React:Element onMouseEnterを継続的に変更する
マウスが終了するまで、onMouseEnterの間にReactを使用してボタン要素を継続的に更新しようとしています。私が下で作ったコードは、私が望むものと似たようなことをしますが、mouseEnterで更新されず、mouseEnterごとに一度更新されます。代わりに、デフォルトからリンクへの順番でブートストラップボタンのスタイルを順番に入れ替え、マウスが終了するまでデフォルトに戻してください。下のコードのように、変更は終了時に停止し、再度同じ場所に移動してからもう一度上書きする必要があります。本当にどんな助けでも大歓迎です。
var count = 0;
class ColorButton extends React.Component{
constructor(props){
super(props);
this.state = {hover: false};
this.changeStuff = this.changeStuff.bind(this);
this.fixStuff = this.fixStuff.bind(this);
this.setMessage = this.setMessage.bind(this);
}
changeStuff(){
this.setState(
{
hover: true
}
);
}
fixStuff(){
this.setState(
{
hover: false
}
);
}
render() {
var classes = 'btn btn-default';
var name = "Default";
if(this.state.hover == true)
{
if(count==0)
{
classes = 'btn btn-primary';
name = "Primary";
count++;
}
else if(count==1)
{
classes='btn btn-success';
name = "Success";
count++;
}
else if(count==2)
{
classes='btn btn-info';
name = "Info";
count++;
}
else if(count==3)
{
classes='btn btn-warning';
name = "Warning";
count++;
}
else if(count==4)
{
classes='btn btn-danger';
name = "Danger";
count++;
}
else if(count==5){
classes='btn btn-link';
name = 'Link';
count++;
}
else
{
classes='btn btn-default';
name='Default';
count = 0;
}
}
return(
<button className={classes} onMouseOver={this.changeStuff}>{name}</button>
);
}
}
ReactDOM.render(<ColorButton />, document.getElementById('app'));