plotly / plotly/react-plotly.js
Chart type scatter3d make onClick loop when calling history.push inside it
未关闭
还没有人认领这个 Issue。
- 主要语言
- JavaScript
- 星标
- 1.1k
- 派生
- 138
- 平均合并
- 3 天 2 小时
- 30 天内合并 PR
- 4
描述
Using Plot inside a Router with type "scatter3d" and trying to use history inside onClick (only if it doesn't unmount the Plot Component) make onClick loop after a first click.
Minimal example:
import Plot from "react-plotly.js";
import { BrowserRouter, Route, useHistory } from "react-router-dom";
function Chart3D() {
const history = useHistory();
return (
<Plot
onClick={() => {
console.log("This will be printed a lot");
history.push("/");
}}
data={[
{
x: [1],
y: [1],
z: [1],
type: "scatter3d",
},
]}
/>
);
}
export default function App() {
return (
<BrowserRouter>
<Route path="/" component={Chart3D} />
</BrowserRouter>
);
}
贡献指南
这个仓库没有索引到贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
调研方向
首先使用 react-plotly.js、BrowserRouter、useHistory、一个 scatter3d Plot 以及 onClick 中的 history.push 复现最小示例。跟踪为什么在不卸载 Plot 组件的情况下,handler 会在第一次点击后反复触发。完成标准是 callback 每次点击只运行一次,同时导航仍然正常工作。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- javascript, react
- 领域
- data-visualization, frontend
- Issue 类型
- 缺陷
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 活跃度
- 停滞
- 描述清晰度
- 需要澄清
- 新手友好度
- 25/100