我有一个onclick处理程序:
render() {
return (
<div>
<div className={className} onClick={this.target.bind(this,id)}>{name}</div>
</div>
)
}
下面是函数:
target(test, event) {
event.target.className="addClasss";
}
我尝试了上面的方法在事件目标上执行addClass,但是有没有更好的方法呢?谢谢
发布于 2018-07-30 02:49:20
class App extends React.Component {
state = {
clicked: false,
};
handleClick = () => {
this.setState({ clicked: true });
}
render() {
const { clicked } = this.state;
const className = clicked ? "newClass" : "";
const name = "add newClass";
return (
<div>
<div className={className} onClick={this.handleClick}>{name}</div>
</div>
);
}
}
发布于 2020-04-24 22:14:50
有点晚了,但对于未来的搜索者来说:使用jquery:
target(test, event) {
var element = $(event.target)
element.addClass('your class');
}
OBS:我部分同意上面的答案,react是为了处理状态而设计的,但在某些情况下,我们不想关心用状态来控制代码的每一个方面,特别是当有重复的类时,所以我发现使用jquery更容易针对这些元素。
https://stackoverflow.com/questions/51583381
复制相似问题