Javascript 胜利事件不重新呈现图表
我在项目中使用Victory进行数据可视化。然而,在我的图表中实现事件处理程序时,我注意到当它们更改目标属性时,图表永远不会重新呈现,因此不会发生任何更改 下面是Victory's的一个示例,它在我的机器上不起作用:Javascript 胜利事件不重新呈现图表,javascript,reactjs,victory-charts,Javascript,Reactjs,Victory Charts,我在项目中使用Victory进行数据可视化。然而,在我的图表中实现事件处理程序时,我注意到当它们更改目标属性时,图表永远不会重新呈现,因此不会发生任何更改 下面是Victory's的一个示例,它在我的机器上不起作用: <div> <h3>Click Me</h3> <VictoryScatter style={{ data: { fill: "#c43a31" } }} size={9} labels=
<div>
<h3>Click Me</h3>
<VictoryScatter
style={{ data: { fill: "#c43a31" } }}
size={9}
labels={() => null}
events={[{
target: "data",
eventHandlers: {
onClick: () => {
return [
{
target: "data",
mutation: (props) => {
const fill = props.style && props.style.fill;
return fill === "black" ? null : { style: { fill: "black" } };
}
}, {
target: "labels",
mutation: (props) => {
return props.text === "clicked" ?
null : { text: "clicked" };
}
}
];
}
}
}]}
data={[{ x: 1, y: 2 },
{ x: 2, y: 3 },
{ x: 3, y: 5 },
{ x: 4, y: 4 },
{ x: 5, y: 7 }]}
/>
</div>
点击我
空}
事件={[{
目标:“数据”,
事件处理程序:{
onClick:()=>{
返回[
{
目标:“数据”,
突变:(道具)=>{
常量填充=props.style&&props.style.fill;
返回fill==“black”?null:{style:{fill:“black”};
}
}, {
目标:“标签”,
突变:(道具)=>{
return props.text===“已单击”?
空:{text:“单击”};
}
}
];
}
}
}]}
数据={[{x:1,y:2},
{x:2,y:3},
{x:3,y:5},
{x:4,y:4},
{x:5,y:7}]}
/>
经过一些调试后,我可以确认组件的
数据
和标签
属性因onClick
事件而更改,但这些更改实际上没有反映在图表中。有什么解决方案吗?问题似乎是由于
在index.js
内的代码中启用了
造成的。移除它可以解决问题。我不太清楚为什么 状态中是否包含任何已更改的道具(数据、标签)?如果不是的话,他们就没有理由重播了。它成功了!是什么让你认为
可能是导致问题的原因?