0

So as the title said, I tried to use react-icons module but it causing reference error.
I installed the module with command yarn add react-icons. ​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​ Here's the details

wait  - compiling /_error (client and server)...
event - compiled client and server successfully in 181 ms (249 modules)
ReferenceError: document is not defined
    at new StyleSheet (/node_modules/styled-jsx/dist/index/index.js:136:35)
    at new StyleSheetRegistry (pathToProject/node_modules/styled-jsx/dist/index/index.js:491:33)
    at Object.createStyleRegistry (pathToProject/node_modules/styled-jsx/dist/index/index.js:667:10)
    at Object.renderToHTML (pathToProject/node_modules/next/dist/server/render.js:364:46)
    at async doRender (pathToProject/node_modules/next/dist/server/base-server.js:879:38)
    at async cacheEntry.responseCache.get.isManualRevalidate.isManualRevalidate (pathToProject/node_modules/next/dist/server/base-server.js:979:28)
    at async pathToProject/node_modules/next/dist/server/response-cache.js:64:36
ReferenceError: document is not defined
    at new StyleSheet (pathToProject/node_modules/styled-jsx/dist/index/index.js:136:35)
    at new StyleSheetRegistry (pathToProject/node_modules/styled-jsx/dist/index/index.js:491:33)
    at Object.createStyleRegistry (pathToProject/node_modules/styled-jsx/dist/index/index.js:667:10)
    at Object.renderToHTML (pathToProject/node_modules/next/dist/server/render.js:364:46)
    at async doRender (pathToProject/node_modules/next/dist/server/base-server.js:879:38)
    at async cacheEntry.responseCache.get.isManualRevalidate.isManualRevalidate (pathToProject/node_modules/next/dist/server/base-server.js:979:28)
    at async pathToProject/node_modules/next/dist/server/response-cache.js:64:36
ReferenceError: document is not defined
    at new StyleSheet (pathToProject/node_modules/styled-jsx/dist/index/index.js:136:35)
    at new StyleSheetRegistry (pathToProject/node_modules/styled-jsx/dist/index/index.js:491:33)
    at Object.createStyleRegistry (pathToProject/node_modules/styled-jsx/dist/index/index.js:667:10)
    at Object.renderToHTML (pathToProject/node_modules/next/dist/server/render.js:364:46)
    at async doRender (pathToProject/node_modules/next/dist/server/base-server.js:879:38)
    at async cacheEntry.responseCache.get.isManualRevalidate.isManualRevalidate (pathToProject/node_modules/next/dist/server/base-server.js:979:28)
    at async pathToProject/node_modules/next/dist/server/response-cache.js:64:36
ReferenceError: document is not defined
    at new StyleSheet (pathToProject/node_modules/styled-jsx/dist/index/index.js:136:35)
    at new StyleSheetRegistry (pathToProject/node_modules/styled-jsx/dist/index/index.js:491:33)
    at Object.createStyleRegistry (pathToProject/node_modules/styled-jsx/dist/index/index.js:667:10)
    at Object.renderToHTML (pathToProject/node_modules/next/dist/server/render.js:364:46)
    at async doRender (pathToProject/node_modules/next/dist/server/base-server.js:879:38)
    at async cacheEntry.responseCache.get.isManualRevalidate.isManualRevalidate (pathToProject/node_modules/next/dist/server/base-server.js:979:28)
    at async pathToProject/node_modules/next/dist/server/response-cache.js:64:36
ReferenceError: document is not defined
    at new StyleSheet (pathToProject/node_modules/styled-jsx/dist/index/index.js:136:35)
    at new StyleSheetRegistry (pathToProject/node_modules/styled-jsx/dist/index/index.js:491:33)
    at Object.createStyleRegistry (pathToProject/node_modules/styled-jsx/dist/index/index.js:667:10)
    at Object.renderToHTML (pathToProject/node_modules/next/dist/server/render.js:364:46)
    at async doRender (pathToProject/node_modules/next/dist/server/base-server.js:879:38)
    at async cacheEntry.responseCache.get.isManualRevalidate.isManualRevalidate (pathToProject/node_modules/next/dist/server/base-server.js:979:28)
    at async pathToProject/node_modules/next/dist/server/response-cache.js:64:36
ReferenceError: document is not defined
    at new StyleSheet (pathToProject/node_modules/styled-jsx/dist/index/index.js:136:35)
    at new StyleSheetRegistry (pathToProject/node_modules/styled-jsx/dist/index/index.js:491:33)
    at Object.createStyleRegistry (pathToProject/node_modules/styled-jsx/dist/index/index.js:667:10)
    at Object.renderToHTML (pathToProject/node_modules/next/dist/server/render.js:364:46)
    at async doRender (pathToProject/node_modules/next/dist/server/base-server.js:879:38)
    at async cacheEntry.responseCache.get.isManualRevalidate.isManualRevalidate (pathToProject/node_modules/next/dist/server/base-server.js:979:28)
    at async pathToProject/node_modules/next/dist/server/response-cache.js:64:36
error - unhandledRejection: ReferenceError: document is not defined
error - unhandledRejection: ReferenceError: document is not defined
error - unhandledRejection: ReferenceError: document is not defined
error - unhandledRejection: ReferenceError: document is not defined
error - unhandledRejection: ReferenceError: document is not defined
error - unhandledRejection: ReferenceError: document is not defined

BlueBeret
  • 474
  • 3
  • 23
  • problem fixed, it's not because the react-icons. it's because the ssr still enabled. Disabling it fix the issue – BlueBeret Mar 10 '22 at 09:14

1 Answers1

1

Fixed the issue by disabling the Server Side Rendering.

import dynamic from "next/dynamic"

const SetupMavlink = dynamic(() => import("components/SetupMavlink"), {ssr:false})


export default function Home() {
  return (
    <div >
      <SetupMavlink />
    </div>
  )
}
BlueBeret
  • 474
  • 3
  • 23