将 d3 js 代码从 v5.16 重构到 v6.6.2,d3.event 重大更改

refactoring d3 js code from v5.16 to v6.6.2, d3.event breaking change

d3 的新手并修复了一个错误。我正在使用 d3 库处理 js 文件。下面这行代码在v5.16中不会报错:

    function br(d) {
        let s = d3.event.selection || xScaleSelector.range()
        let extent = s.map(xScaleSelector.invert, xScaleSelector);
        let window = data.filter(d => d.date >= extent[0] && d.date <= extent[1])
        update(window)
    }

但是,当迁移到 v6.6.2 及更高版本时,出现错误。我收到的错误在线:let s = d3.event.selection || xScaleSelector.range() 错误如下:Uncaught TypeError: Cannot read properties of undefined (reading 'selection').

错误的根源,根据https://github.com/d3/d3/releases/tag/v6.0.0,v6.0.0已经删除了d3.event。 (d3.event 在 v6 中未定义)。有人可以帮助建议我在迁移到 >= v6 时可以做哪些更改来修复此错误吗?

请尝试:

function br(d) {
    let s = d.selection || xScaleSelector.range()
    let extent = s.map(xScaleSelector.invert, xScaleSelector);
    let window = data.filter(d => d.date >= extent[0] && d.date <= extent[1])
    update(window)
}

根据迁移指南here