UNPKG

jjb-lc-designable

Version:

基于alibaba-designable源码二次封装的表单设计器。

20 lines (18 loc) 557 B
import { useContext, useEffect } from 'react' import { Engine } from 'jjb-lc-designable/core' import { DesignerEngineContext } from '../context' import { isFn, globalThisPolyfill } from 'jjb-lc-designable/shared' export interface IEffects { (engine: Engine): void } export const useDesigner = (effects?: IEffects): Engine => { const designer: Engine = globalThisPolyfill['__DESIGNABLE_ENGINE__'] || useContext(DesignerEngineContext) useEffect(() => { if (isFn(effects)) { return effects(designer) } }, []) return designer }