【发布时间】:2022-11-02 10:11:00
【问题描述】:
我想使用一个名为 react-wordcloud 的基于 D3 的 React 组件。它在 React 中运行良好,但会使 Nextjs 崩溃并出现以下错误:
服务器错误 错误:元素类型无效:需要字符串(对于内置组件)或类/函数(对于复合组件),但得到:对象。
根据几篇文章,我尝试编写了以下解决方法:
// WORKAROUND 1 {typeof window === "undefined" ? <div>loading...</div>) : <WordCloud words={words} /> } // WORKAROUND 2 {process.browser && <WordCloud words={words} />} // WORKAROUND 3 {process.browser && <div suppressHydrationWarning> <WordCloud words={words} /> </div> } // WORKAROUND 4 <div suppressHydrationWarning> <WordCloud words={words} /> </div>它们都不起作用。构建不断崩溃。是否有任何解决方案可以强制 NextJS 显示客户端组件?
【问题讨论】: