仅在服务器上执行代码
Executing code on server only
我有一个同构 ReactJS 应用程序。我有一小部分 JS 仅用于监视(由新遗物提供),我想将其放置在 React 组件中(准确地说,这是一个显示图像的组件,或者如果没有可用图像,显示一个 NoImage 组件,我想使用监控来跟踪何时加载无图像。),但要注意的是我只希望这个 JS 代码在服务器而不是客户端上呈现时 运行。
有办法实现吗?
在进行服务器端渲染时,您可以使用 componentWillMount()
,因为它在服务器端被调用(除了客户端),而 componetDidMount()
仅被称为客户端。这样的事情应该有效:
componentWillMount() {
if (typeof process != 'undefined') {
executeCodeOnServer()
}
// or...
if (typeof document == 'undefined') {
executeCodeOnServer()
}
}
我有一个同构 ReactJS 应用程序。我有一小部分 JS 仅用于监视(由新遗物提供),我想将其放置在 React 组件中(准确地说,这是一个显示图像的组件,或者如果没有可用图像,显示一个 NoImage 组件,我想使用监控来跟踪何时加载无图像。),但要注意的是我只希望这个 JS 代码在服务器而不是客户端上呈现时 运行。
有办法实现吗?
在进行服务器端渲染时,您可以使用 componentWillMount()
,因为它在服务器端被调用(除了客户端),而 componetDidMount()
仅被称为客户端。这样的事情应该有效:
componentWillMount() {
if (typeof process != 'undefined') {
executeCodeOnServer()
}
// or...
if (typeof document == 'undefined') {
executeCodeOnServer()
}
}