The UI library requires an additional setup when used with SSR frameworks
Closed this issue · 1 comments
ValentaTomas commented
When using the UI library with a SSR frameworks (Next.js, Docusaurus) you must dynamically import the library otherwise you get an error because a browser only object ‘self‘ is undefined.
ValentaTomas commented
This should be fixed (@devbookhq/ui@1.0.27
) but Next.js is still reporting warning
Warning: useLayoutEffect does nothing on the server, because its effect cannot be encoded into the server renderer's output format. This will lead to a mismatch between the initial, non-hydrated UI and the intended UI. To avoid this, useLayoutEffect should only be used in components that render exclusively on the client. See https://reactjs.org/link/uselayouteffect-ssr for common fixes.
because we do use useLayoutEffect
to add the terminal and editor to the dom. This would be happening even if we used useEffect
and should not affect hydration.