繁体   English   中英

服务器端渲染中的ComponentDidMount()

[英]ComponentDidMount() in Server-side render

我试图在服务器端呈现我的网页以获得更好的性能,但是遇到了一个问题,即我的页面的组件componentDidMount()未被调用。

例如,这是我的主模板文件:

import React from 'react';
import Cube from './components/Cube/Cube.jsx';

class Index extends React.Component {
  render() {
    return (
          <html>
            <head>
              <title>{this.props.title}</title>
            </head>
            <body>
              <Cube />
            </body>
          </html>
    );
  }
}

而我的Cube.jsx:

import React from 'react';

class Cube extends React.Component {
    componentDidMount() {
        console.log("Hey!");
    }

    render() {
        return (
            <div>
                <h1>Hello</h1>
            </div>
        );
    }
}

export default Cube;

我没有看到“嘿!” 即使在页面加载时看到<h1>Hello</h1> ,也无法在pm2日志或chrome控制台中注销。 这使我无法为组件提供任何逻辑。

如何解决此问题并使子组件的componentDidMount()被调用? 注意我正在使用express-react-views进行服务器端渲染。

我想唯一的生命周期挂钩,将调用服务器端是componentWillMount作为解释这里

即使那样,您也不会在Chrome的控制台上看到输出。 您仅可能在节点日志中看到它。

让我知道这是否回答了您的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM