PLASMIC: Encountered error when pre-rendering rt: ReferenceError: window is not defined
ReferenceError: window is not defined
at yt (file:///home/pops/webdev/cbat-beta/node_modules/@plasmicapp/loader-core/src/registry.ts:110:13)
at rt (file:///home/pops/webdev/cbat-beta/node_modules/@plasmicapp/loader-core/src/registry.ts:110:13)
at renderWithHooks (/home/pops/webdev/cbat-beta/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5658:16)
at renderIndeterminateComponent (/home/pops/webdev/cbat-beta/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5732:15)
at renderElement (/home/pops/webdev/cbat-beta/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5957:7)
at renderNodeDestructiveImpl (/home/pops/webdev/cbat-beta/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6115:11)
at renderNodeDestructive (/home/pops/webdev/cbat-beta/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6087:14)
at renderNode (/home/pops/webdev/cbat-beta/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6270:12)
at renderChildrenArray (/home/pops/webdev/cbat-beta/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6222:7)
at renderNodeDestructiveImpl (/home/pops/webdev/cbat-beta/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6152:7)
at renderNodeDestructive (/home/pops/webdev/cbat-beta/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6087:14)
at renderElement (/home/pops/webdev/cbat-beta/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5982:9)
at renderNodeDestructiveImpl (/home/pops/webdev/cbat-beta/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6115:11)
at renderNodeDestructive (/home/pops/webdev/cbat-beta/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6087:14)
at renderNode (/home/pops/webdev/cbat-beta/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6270:12)
108 | let func;
109 | try {
> 110 | func = new Function("require", "exports", code);
| ^
111 | } catch (err) {
112 | throw new Error(`PLASMIC: Failed to create function for ${name}: ${err}`);
113 | }
Hi, as stated in Dynamic values | Learn Plasmic we don’t recommend using the window object in dynamic expressions, since window is only available in the browser, the server can’t access its not able to process your page correctly. To fix it, you should search into your project for the places that use window and use the appropriate replacement.
I don’t believe I ever used window in my dynamic expressions …
After more troubleshooting, I think I narrowed on the culprit: something to do with the timing/sequence of returning null values from GraphQL data query in dynamic values.
For context, here’s how the test page above is set up:
loading boundary ($queries.reportQuery.isLoading)
conditional guard to show section A if 123 all are NOT defined (see below)
conditional guard to show section B if 123 all are defined
So, I’m not getting a “window is not defined” React error on the screen in localhost anymore, but I’m still seeing the message in the terminal devlog (a), and the other error message in chrome localhost devlog (b).
(a) PLASMIC: Encountered error when pre-rendering rt: ReferenceError: window is not defined
(b)
VM2321:4 Warning: Cannot update a component (`Plasmic_06BAnalyzeReport`) while rendering a different component (`DataCtxReader`). To locate the bad setState() call inside `DataCtxReader`, follow the stack trace as described in https://reactjs.org/link/setstate-in-render
at DataCtxReader (webpack-internal:///./node_modules/@plasmicapp/host/dist/host.esm.js:449:23)
at DataProvider (webpack-internal:///./node_modules/@plasmicapp/host/dist/host.esm.js:385:19)
at Suspense
at ot (eval at load (webpack-internal:///./node_modules/@plasmicapp/loader-core/dist/index.esm.js), <anonymous>:7:575)
at main
at div
at div
at e (eval at load (webpack-internal:///./node_modules/@plasmicapp/loader-core/dist/index.esm.js), PlasmicPageNavFooterWrapper:4:2410)
at G
at div
at div
at o (eval at load (webpack-internal:///./node_modules/@plasmicapp/loader-core/dist/index.esm.js), Plasmic_06BAnalyzeReport:14:4330)
at eval (eval at load (webpack-internal:///./node_modules/@plasmicapp/loader-core/dist/index.esm.js), <anonymous>:14:4674)
at s (eval at load (webpack-internal:///./node_modules/@plasmicapp/loader-core/dist/index.esm.js), <anonymous>:4:693)
at c (eval at load (webpack-internal:///./node_modules/@plasmicapp/loader-core/dist/index.esm.js), <anonymous>:4:770)
at MaybeWrap (webpack-internal:///./node_modules/@plasmicapp/loader-react/dist/index.esm.js:255:16)
at PlasmicLinkProvider (webpack-internal:///./node_modules/@plasmicapp/host/dist/host.esm.js:497:22)
at Wo
at pr (eval at load (webpack-internal:///./node_modules/@plasmicapp/loader-core/dist/index.esm.js), <anonymous>:4:25857)
at Suspense
at DataProvider (webpack-internal:///./node_modules/@plasmicapp/host/dist/host.esm.js:385:19)
at pr (eval at load (webpack-internal:///./node_modules/@plasmicapp/loader-core/dist/index.esm.js), <anonymous>:4:25857)
at Tn (eval at load (webpack-internal:///./node_modules/@plasmicapp/loader-core/dist/index.esm.js), <anonymous>:4:24487)
at PlasmicComponent (webpack-internal:///./node_modules/@plasmicapp/loader-react/dist/index.esm.js:1310:11)
at MaybeWrap (webpack-internal:///./node_modules/@plasmicapp/loader-react/dist/index.esm.js:255:16)
at DataProvider (webpack-internal:///./node_modules/@plasmicapp/host/dist/host.esm.js:385:19)
at DataProvider (webpack-internal:///./node_modules/@plasmicapp/host/dist/host.esm.js:385:19)
at DataProvider (webpack-internal:///./node_modules/@plasmicapp/host/dist/host.esm.js:385:19)
at DataProvider (webpack-internal:///./node_modules/@plasmicapp/host/dist/host.esm.js:385:19)
at PageParamsProvider (webpack-internal:///./node_modules/@plasmicapp/host/dist/host.esm.js:438:23)
at SWRConfig$1 (webpack-internal:///./node_modules/swr/dist/index.mjs:504:23)
at PlasmicQueryDataProvider (webpack-internal:///./node_modules/@plasmicapp/query/dist/index.esm.js:143:11)
at PlasmicRootProvider (webpack-internal:///./node_modules/@plasmicapp/loader-react/dist/index.esm.js:327:5)
at PlasmicRootProvider (webpack-internal:///./node_modules/@plasmicapp/loader-nextjs/dist/index.esm.js:499:133)
at PlasmicLoaderPage (webpack-internal:///./pages/[[...catchall]].tsx:59:13)
at DataProvider (webpack-internal:///./node_modules/@plasmicapp/host/dist/host.esm.js:385:19)
at AcrossAllPages (webpack-internal:///./pages/_app.tsx:27:11)
at PathnameContextProviderAdapter (webpack-internal:///./node_modules/next/dist/shared/lib/router/adapters.js:81:11)
at ErrorBoundary (webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/pages/ErrorBoundary.js:41:9)
at ReactDevOverlay (webpack-internal:///./node_modules/next/dist/client/components/react-dev-overlay/pages/ReactDevOverlay.js:33:11)
at Container (webpack-internal:///./node_modules/next/dist/client/index.js:80:1)
at AppContainer (webpack-internal:///./node_modules/next/dist/client/index.js:213:11)
at Root (webpack-internal:///./node_modules/next/dist/client/index.js:437:11)
Is there a proper way that I’m supposed to do this?