386534a415
- 为避免prop drilling把原有的刷新画布集中到一个useContext中, 在此基础上实现画布聚焦, 并在画布agent中使用  Reviewed-on: http://192.168.35.82/git/GenarrativeAI/Genarrative/pulls/123 Co-authored-by: 王德宇 <kvtodev@outlook.com> Co-committed-by: 王德宇 <kvtodev@outlook.com>
28 lines
655 B
TypeScript
28 lines
655 B
TypeScript
import { type ReactNode, useMemo } from 'react';
|
|
|
|
import {
|
|
type ImageCanvasActions,
|
|
ImageCanvasActionsContext,
|
|
} from './ImageCanvasActionsContext';
|
|
|
|
export function ImageCanvasActionsProvider({
|
|
children,
|
|
focusResource,
|
|
refreshCanvas,
|
|
}: {
|
|
children: ReactNode;
|
|
focusResource: ImageCanvasActions['focusResource'];
|
|
refreshCanvas: ImageCanvasActions['refreshCanvas'];
|
|
}) {
|
|
const actions = useMemo<ImageCanvasActions>(
|
|
() => ({ focusResource, refreshCanvas }),
|
|
[focusResource, refreshCanvas],
|
|
);
|
|
|
|
return (
|
|
<ImageCanvasActionsContext.Provider value={actions}>
|
|
{children}
|
|
</ImageCanvasActionsContext.Provider>
|
|
);
|
|
}
|