-
-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Closed
Labels
@PlugNPush
Description
Hi,
I wanted to test gridstack for my project and made a very basic grid like this:
export function GridStackPage() { const [grid1Options] = useState(() => createGridOptions()); const [grid2Options] = useState(() => createGridOptions()); return ( <div style={{ display: "flex", gap: "20px" }}> <div style={{ flex: 1 }}> <h3>Grid 1</h3> <GridStackProvider initialOptions={grid1Options}> <Toolbar gridNumber={1} /> <GridStackRenderProvider> <GridStackRender componentMap={COMPONENT_MAP} /> </GridStackRenderProvider> </GridStackProvider> </div> <div style={{ flex: 1 }}> <h3>Grid 2</h3> <GridStackProvider initialOptions={grid2Options}> <Toolbar gridNumber={2} /> <GridStackRenderProvider> <GridStackRender componentMap={COMPONENT_MAP} /> </GridStackRenderProvider> </GridStackProvider> </div> </div> ); }
Whenever I want to add a widget in them, it works fine for the last one but crashes for all the ones before (here grid 1).
The reason for the crash is :
Uncaught Error: Widget container not found for id: widget-39vq52659p5
children grid-stack-render.tsx:55
GridStackRender grid-stack-render.tsx:47
React 18
current grid-stack-render-provider.tsx:35
renderCB grid-stack-render-provider.tsx:41
createWidgetDivs utils.ts:128
addWidget gridstack.ts:470
addSubGrid grid-stack-provider.tsx:60
onClick GridStackDemo.tsx:210
It comes from GridStackRenderProvider, in
<GridStackRenderContext.Provider value={useMemo( () => ({ getWidgetContainer: (widgetId: string) => { return widgetContainersRef.current.get(widgetId) || null; }, }), // ! gridStack is required to reinitialize the grid when the options change // eslint-disable-next-line react-hooks/exhaustive-deps [gridStack] )} > <div ref={containerRef}>{gridStack ? children : null}</div> </GridStackRenderContext.Provider>
as widgetContainersRef.current.get(widgetId) unexpectedly returns undefined.
I would appreciate some help here.