You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Next.js 15集成CarrotSearch FoamTree组件时出现'visualization already embedded in the element'错误的解决求助

Next.js 15集成CarrotSearch FoamTree组件时出现'visualization already embedded in the element'错误的解决求助

各位好,我目前在开发Next.js 15应用,集成CarrotSearch FoamTree树形图组件时遇到了一个棘手的问题。按照官方示例实现后,控制台一直抛出这个错误:
Uncaught (in promise) FoamTree: visualization already embedded in the element

我尝试过通过判断逻辑来避免重复在DOM元素上创建树形图实例,但不管怎么调整都没解决问题。有没有大佬遇到过类似情况,能给我点解决思路吗?

我的组件代码如下:

//@ts-ignore
const Treemap = ({ data }) => {
  //@ts-ignore
  const element = useRef()
  const [ treemap, setTreemap ] = useState();

  useEffect(() => {
    import("@carrotsearch/foamtree").then(module => {
      setTreemap(new module.FoamTree({
        element: element.current,
        //...
      }));
    });

    return () => {
      if (treemap) {
        //@ts-ignore
        treemap.dispose();
        //@ts-ignore
        setTreemap(null);
      }
    }
  }, []);

  useEffect(() => {
    if (treemap) {
      //@ts-ignore
      treemap.set("dataObject", data);
    }
  }, [ treemap, data ]);

  return (
    //@ts-ignore
    <div ref={element} className="absolute w-full h-full" id="treemap"></div>
  );
};

export default Treemap;

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.08 14:04:51