@
LunaSeki 嗯传递的会不方便集中管理,而且透传几层也很蛋疼。
我在弄一个 bi 编辑页的需求,
export interface DesignContextType {
designerLeftRef: MutableRefObject<HTMLDivElement> ; // 设置 RefObject 的类型为 HTMLElement
contentRef: MutableRefObject<HTMLDivElement> ; // 设置 RefObject 的类型为 HTMLElement
containRef: MutableRefObject<HTMLDivElement> ; // 设置 RefObject 的类型为 HTMLElement
}
const DesignContext = React.createContext<DesignContextType|null >(null);
export const DesignContextProvider = (props) => {
return (
<DesignContext.Provider
value={{
designerLeftRef: useRef<HTMLDivElement>(),
contentRef: useRef<HTMLDivElement>(),
containRef:useRef<HTMLDivElement>(),
}}
>
{props.children}
</DesignContext.Provider>
);
};
export function useDesginDomContext(){
const context= useContext(DesignContext);
return {...context}
}
我目前是这样子在顶层用一个 useContext 去持有引用, 在想有没有更好的办法