hustcc / hustcc/echarts-for-react

0ab3861 的改动导致在 ref 和 effect 中无法拿到有效的 ECharts 实例

Open
#608 3 comments 1 reaction 0 assignees View on GitHub
Dominant language
TypeScript
Stars
5k
Forks
650
PR merge metrics
No merged PRs in 30d

Description

```tsx
import EChartsReact from "echarts-for-react";
import { useEffect, useRef } from "react";

export default function App() {
const echartsRef = useRef();
useEffect(() => {
const echartsReact = echartsRef.current;
if (!echartsReact) {
return;
}
console.log("effect run", echartsReact.getEchartsInstance());
}, []);
return (
{
echartsRef.current = ref;
if (!ref) {
return;
}
console.log("ref connected", ref.getEchartsInstance());
}}
option={{}}
onChartReady={(instance) => {
console.log("chart ready", instance);
}}
/>
);
}
```

[![Edit solitary-voice-yn2njm](https://codesandbox.io/static/img/play-codesandbox.svg)](https://codesandbox.io/p/devbox/solitary-voice-yn2njm)

在 3.0.2,上述代码三次输出的 ECharts 实例都是同一个有效的实例。而更新到 3.0.4 之后,在 ref 和 effect 里都只能拿到[这一行](https://github.com/hustcc/echarts-for-react/blob/373982283c60017f00fe154068575b0bd80c06f8/src/core.tsx#L97)创建的临时 ECharts 实例,而没法拿到之后创建的真实实例,只有 `onChartReady` 里能拿到有效的实例。这样的修改破坏了之前代码的兼容性。

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.