React+TypeScript集成Landbot报错:Cannot find name 'Landbot'
解决React.js + TypeScript集成Landbot的"Cannot find name 'Landbot'"错误
第一步:正确导入Landbot核心模块
你需要从@landbot/core中显式导入Landbot对象,补充代码开头的导入语句:import React, { useRef, useEffect } from "react"; import Landbot from '@landbot/core'; // 新增该行导入第二步:补充TypeScript类型支持(可选但推荐)
如果导入后仍提示类型缺失,安装对应的类型声明包:npm install @types/landbot__core --save-dev若官方未提供类型包,可在项目根目录手动创建
landbot.d.ts声明文件:declare module '@landbot/core' { export class Container { constructor(options: { container: HTMLElement | null; configUrl: string }); destroy(): void; } }第三步:修正组件代码并优化
导入完成后,Landbot.Container即可被正确识别,同时补充TypeScript类型定义、增加空值判断避免报错:import React, { useRef, useEffect } from "react"; import Landbot from '@landbot/core'; export default function MyLandbot({ url }: { url: string }) { const containerRef = useRef<HTMLDivElement>(null); useEffect(() => { if (!containerRef.current || !url) return; const _landbot = new Landbot.Container({ container: containerRef.current, configUrl: url }); return () => _landbot.destroy(); }, [url]); return <div className="MyLandbot" ref={containerRef} />; }
内容的提问来源于stack exchange,提问作者vishal patel
相关产品推荐
相关产品推荐

