javascript - 在 React SSR 中渲染 Fushion 图表
问题描述
有什么方法可以在服务器端渲染图表吗?. ReferenceError: document is not defined
通过快速服务器启动反应应用程序时出现此错误。
解决方案
我在这里猜测,但是如果您使用的图表库仅依赖于客户端上的功能,例如window
,您可以简单地检查组件是否已实际安装。有很多方法可以做到这一点。如果您正在编写功能组件,例如,您可以这样做:
const [isClient, setIsClient] = useState(false);
useEffect(() => {
setIsClient(true);
}, [])
return isClient ? (<SomeFusionChart/>) : (<SomePlaceHolder/>
在功能组件中,或将其分离到自定义钩子中。
你也可以做
(typeof window !== 'undefined') ? (<SomeFusionChart/>) : (<SomePlaceHolder/>
推荐阅读
- javascript - 具有多个值的 Promise.map
- python - 为什么我在 python 上实现梯度下降产生输出这么慢?
- matlab - 如何处理具有不同数量分隔符的元胞数组
- javascript - 如何测试包含其他模块的自定义元素?
- vuejs2 - 你调用的对象是空的。Vue.js 与 Asp.net Core MVC
- visual-c++ - MSVC:使用外部 PDB 文件链接静态库
- php - PHP CLI - 命令以退出状态结束 2 故障排除
- neural-network - 字符级 CNN - 1D 或 2D
- excel - 创建从特定单元格获取值的 TxtBox
- r - 需要在单个滑块中有两个不同的步骤