我有一个Isomorphic ReactJS应用程序。我有一小部分用于监控的JS(由新文件提供),我想放在一个React组件中(确切地说,这是一个显示图像的组件,或者如果没有可用的图像,显示一个NoImage组件,我想使用监视来跟踪没有加载图像的时间。),但是我只希望这个JS代码在服务器上而不是客户端上运行时运行。
有没有办法实现这个目标?
答案 0 :(得分:1)
在进行服务器端渲染时,可以使用componentWillMount()
,因为它在服务器上调用(除了客户端),而componetDidMount()
仅称为客户端。这样的事情应该有效:
componentWillMount() {
if (typeof process != 'undefined') {
executeCodeOnServer()
}
// or...
if (typeof document == 'undefined') {
executeCodeOnServer()
}
}