パフォーマンスを向上させるためにサーバー側でレンダリングしようとしていますが、ページのコンポーネントcomponentDidMount()
が呼び出されないという問題が発生しています。例えばサーバー側の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
をサーバーサイドレンダリングに使用しています。
サーバ側のレンダリング中に 'componentDidMount()'を使用できるかどうかはわかりません。私はそれを見落とすためにノードのためのポリフィルの使用を見て覚えています(?)。 – 82Tuskers
私はサーバー側のレンダリングは、静的なHTMLマークアップを生成すると思う。あなたの反応コードは含まれていません。あなたはあなたのログを見ることができません。そのロジックを処理するマークアップとともにバンドルを含める必要があります。 –
@Prakashsharmaあなたはwebpackから 'bundle.js'を意味しますか? – MarksCode