MCPcopy Create free account
hub / github.com/ccj-007/easy-lowcode / App

Function App

src/App.tsx:19–100  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

17})
18
19function App() {
20 const [api, contextHolder] = notification.useNotification();
21 const mainRef = useRef() as React.MutableRefObject<HTMLDivElement>
22 const { globalObj, editObj, activeCompId, activeEditId, preview, layout, compName } = useStore((state) => state)
23
24 React.useMemo(() => {
25 const selectComp = globalObj.content.find((item: CompUnion) => item && item.id === activeCompId)
26 if (selectComp) {
27 const componentName = selectComp.componentName as CompKey
28 componentName && setCompName(componentName)
29 selectComp && setSelectComp(selectComp)
30 }
31 }, [activeCompId])
32
33 React.useMemo(() => {
34 if (compName && editObj) {
35 const selectEdit = (editObj[compName] as any[]).find((item: CompUnion) => item && item.id === activeEditId)
36 const editName = selectEdit ? selectEdit.type : null
37 setEditName(editName)
38 setSelectEdit(selectEdit)
39 }
40 return [null, null]
41 }, [activeEditId])
42
43 const contentWidth = React.useMemo(() => {
44 return (100 - layout.editWidth - layout.sidebarWidth)
45 }, [layout])
46
47 React.useEffect(() => {
48 if (globalObj.content.length > 0) {
49 const comp = globalObj.content[0]
50 comp && setActiveCompId(comp.id)
51 }
52 }, [])
53
54 React.useEffect(() => {
55 const code = getFileCodeTree(globalObj, { langs: 'react' })
56 setCodeObj(code)
57 }, [globalObj])
58
59 return (
60 <Context.Provider value={{
61 mainRef,
62 contextHolder,
63 api
64 }}>
65 <div className="App">
66 {contextHolder}
67 <BrowserRouter>
68 <Navbar></Navbar>
69 <Routes >
70 <Route
71 path="/"
72 element={<Redirect to="/edit" />}
73 />
74 <Route element={
75 <div className='layout-main'>
76 {/* 根路由——非预览状态可以编辑 */}

Callers

nothing calls this directly

Calls 7

setCompNameFunction · 0.90
setSelectCompFunction · 0.90
setEditNameFunction · 0.90
setSelectEditFunction · 0.90
setActiveCompIdFunction · 0.90
getFileCodeTreeFunction · 0.90
setCodeObjFunction · 0.90

Tested by

no test coverage detected