胜利事件未重新渲染图表

Victory events not re-rendering chart

我在项目中使用 Victory 进行数据可视化。但是,在我的图表中实现事件处理程序时,我注意到虽然它们更改了目标属性,但图表永远不会重新呈现,因此没有任何变化。

下面是来自 Victory 的 documentation 的示例,它在我的机器上不起作用:

<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>

经过一些调试,我可以确认组件的 datalabels 属性因 onClick 事件而更改,但这些更改实际上并未反映出来在图表中。有什么解决办法吗?

问题似乎是由 index.js 中的代码中的 <React.StrictMode> 引起的。删除它可以解决问题。我不太清楚为什么!!