Semantic-UI 有这个 React 组件,我正在使用的Segment 。
在我的应用程序中,我将 onMouseOver 与 Segment 一起使用,如下所示:
render() {
return (
<Segment onMouseOver={this.handleHover} />
);
}
我想要 handleHover() 做的是在鼠标悬停事件上动态地将语义 UI 道具添加到 Segment。我尝试使用react clone element执行此操作,并根据 Semantic UI 文档添加新的颜色道具
反应文档状态:
使用 element 作为起点克隆并返回一个新的 React 元素。结果元素将具有原始元素的道具和新道具的浅层合并。
handleHover() {
React.cloneElement(Segment, {
color: "teal" //NEWLY ADDED
});
//THIS EXECUTES SO EVENT IS TRIGGERING.
console.log("I'm in here");
}
因此,即使在克隆了 React 组件之后,当我将鼠标悬停在 Segment 上时,它仍然不会显示新的颜色属性。
问题:这是动态添加道具的正确方法吗?如果是这样,那么为什么不显示新添加的颜色。如果没有,那么我应该如何更改我的代码?