添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
发怒的洋葱  ·  Sidebar controls | ...·  11 小时前    · 
听话的麻辣香锅  ·  Add a new tab to the ...·  11 小时前    · 
发怒的弓箭  ·  React Sidebar API ...·  11 小时前    · 
腹黑的自行车  ·  Remove all tabs from ...·  11 小时前    · 
有胆有识的香槟  ·  How To Create a ...·  11 小时前    · 
完美的苦瓜  ·  [论文审查] InfoSAM: ...·  2 周前    · 
开朗的麻辣香锅  ·  Amazon Digital and ...·  1 月前    · 

I’ve been getting a “window is not defined” error on a page in my project and I’m not quite sure why

Screenshots:
Test Page 1:


Test Page 2:

Dev Log message

error message in dev log
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 |     }
  • My project: Plasmic
  • Test pages:
  • 1: 洩漏區塊®探索工作坊
  • 2: 洩漏區塊®探索工作坊
  • 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 :thinking:
    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
  • const req1Ocr = $queries.reportQuery?.data?.response?.data?.report?.req1Ocr;
    const req2Observe = $queries.reportQuery?.data?.response?.data?.report?.req2Observe;
    const req3Disclose = $queries.reportQuery?.data?.response?.data?.report?.req3Disclose;
    !(req1Ocr && req2Observe && req3Disclose)
    

    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

    full error text
    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 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?