Я пытаюсь создать карты в своем реактивном проекте. Мой текущий проект Проблема в том, что я создал компоненты React, которые повторно используют один и тот же класс, и когда я реализую событие mouseOver для переключения между классамидля достижения эффекта перехода эффект применяется ко всем классам, имеющим один и тот же класс CSS. Как я могу избежать этого? Я считаю, что тег вызывает мои проблемы. Как разделить функциональность без особой избыточности в коде?
Обратите внимание, что я новичок.
import React,{Component} from 'react';
import './OneHome.css'
import OneCard from './OneCard.js'
class OneHome extends Component{
constructor(props){
super(props);
this.someHandler = this.someHandler.bind(this);
this.someOtherHandler = this.someOtherHandler.bind(this);
this.state={
buttonStyleClass:"CardButton",
};
}
someOtherHandler() {
this.setState({buttonStyleClass : "CardButton"});
}
someHandler() {
this.setState({buttonStyleClass : "CardButtonHover"});
}
render(){
return (
<div className ="FlexContainer">
<OneCard >
<h1 className="CardTitle"> Part One </h1>
<div className="CardSeparator"> </div>
<button className={this.state.buttonStyleClass} onMouseEnter={this.someHandler} onMouseLeave={this.someOtherHandler}> Click Here</button>
</OneCard>
<OneCard >
<h1 className="CardTitle"> Part One </h1>
<div className="CardSeparator"> </div>
<button className={this.state.buttonStyleClass} onMouseEnter={this.someHandler} onMouseLeave={this.someOtherHandler}> Click Here</button>
</OneCard>
<OneCard > </OneCard>
<OneCard > </OneCard>
<OneCard >
<h1 className="CardTitle"> Part One </h1>
<div className="CardSeparator"> </div>
<button className={this.state.buttonStyleClass} onMouseEnter={this.someHandler} onMouseLeave={this.someOtherHandler}> Click Here</button>
</OneCard>
</div>
);
}
}
export default OneHome;