Closed
Description
Describe the bug
react-spaces tries to access the document
global on the server side execution. Stack trace:
ReferenceError: document is not defined
at updateStyleDefinition (<snip>/node_modules/react-spaces/dist/index.js:1:6669)
at Object.addSpace (<snip>/node_modules/react-spaces/dist/index.js:1:12033)
at useSpace (<snip>/node_modules/react-spaces/dist/index.js:1:17621)
at SpaceInner (<snip>/node_modules/react-spaces/dist/index.js:1:20542)
at processChild (<snip>/node_modules/react-dom/cjs/react-dom-server.node.development.js:3353:14)
at resolve (<snip>/node_modules/react-dom/cjs/react-dom-server.node.development.js:3270:5)
at ReactDOMServerRenderer.render (<snip>/node_modules/react-dom/cjs/react-dom-server.node.development.js:3753:22)
at ReactDOMServerRenderer.read (<snip>/node_modules/react-dom/cjs/react-dom-server.node.development.js:3690:29)
at renderToString (<snip>/node_modules/react-dom/cjs/react-dom-server.node.development.js:4298:27)
at renderPage (<snip>/node_modules/next/dist/next-server/server/render.js:53:851)
at Object.ctx.renderPage (webpack-internal:///./src/pages/_document.tsx:79:26)
at Function.getInitialProps (webpack-internal:///../../node_modules/next/dist/pages/_document.js:135:19)
at Function.MyDocument.getInitialProps (webpack-internal:///./src/pages/_document.tsx:87:83)
at loadGetInitialProps (<snip>/node_modules/next/dist/next-server/lib/utils.js:5:101)
at renderToHTML (<snip>/node_modules/next/dist/next-server/server/render.js:53:1142)
at async <snip>/node_modules/next/dist/next-server/server/next-server.js:98:97
To Reproduce
Steps to reproduce the behavior:
- Use react-spaces in a server environment, e.g. nextjs
Expected behavior
Should render as normal
Package versions (please complete the following information):
- React version: 17.0.1
- React spaces version: ^0.2.0
Desktop (please complete the following information):
- OS: Manjaro
- Browser Chrome
- Version 87
I see previously there was a separate dist folder for an SRR-enabled version of react-spaces, however I can't find any traces of it in the newest version. :) If you want I can set up a quick nextjs repro repo.