import { useEffect } from 'react'; import { useForceUpdate } from '../hooks'; import { getPrefixedClassName } from '../utils'; import Layout from '../Layout'; import DatasetManager from '../DatasetManager'; import ComponentMenu from '../ComponentMenu'; import Canvas from '../Canvas'; import ConfigPanel from '../ConfigPanel'; import { CANVAS_EVENT } from '../../models/canvas'; import { AppProps } from './types'; export default function App(props: AppProps) { const { app: { config: { panel }, layouts, datasetManager, canvas, mode, }, } = props; const forceUpdate = useForceUpdate(); useEffect(() => { canvas.on(CANVAS_EVENT.AddComponent, forceUpdate); return () => { canvas.off(CANVAS_EVENT.AddComponent); }; }, []); return (