我尝试在服务器端渲染我的网页以获得更好的性能,但遇到了我的网页组件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;
我没有看到&#34;嘿!&#34;即使我在页面加载时看到<h1>Hello</h1>
,也会在我的pm2日志或Chrome控制台中注销。这使我无法为我的组件提供任何逻辑。
如何解决此问题并使我的子组件componentDidMount()
被调用?注意我使用express-react-views
进行服务器端渲染。
答案 0 :(得分:0)
我认为唯一被称为服务器端的生命周期钩子是componentWillMount
,如here所述
即使这样,您也无法在Chrome控制台上看到输出。您只能在节点日志中看到它。
如果这回答了您的问题,请告诉我。