クライアント側とサーバー側のレンダリングの両方で反応型アプリケーションを作成したいと考えています。ここでクライアント側とサーバー側のレンダリングの両方で同型コンポーネントに反応する
は一例です。このコンポーネントMain
で
import styles from './Main.css';
import React, {Component} from 'react';
import Info from './Info/Info';
import Record from './Record/Record'
export default class Main extends Component {
render() {
return (
<div className={styles.main}>
<div className={styles.mainIn + ' clearfix'}>
<div className={styles.mainLeft}>
<Info info_num="2012201972"/>
</div>
<div className={styles.mainRight}>
<div className="clearfix mb20">
<Record />
</div>
</div>
</div>
</div>
)
}
}
、それは<Record />
コンポーネントここでRecord
import styles from './Record.css';
import layout from '../../shared/styles/layout.css'
import React, {Component} from 'react';
export default class Record extends Component {
render() {
return (
<div className="float_two">
<div className={layout.box + ' mr10'}>
This is Record!
</div>
<div>
)
}
}
除いて、クライアント側でレンダリングする必要が私の質問です:
私はReactDom.renderToString
とreact-router
でサーバー側レンダリングの例のいくつかの例を検索しました。ただし、クライアント側とサーバー側の両方のレンダリングに関するチュートリアルはありません。
私が達成したいのは、クライアントはまずコンポーネント<Main />
をロードしてレンダリングし、サーバ側から<Record />
をロードします。
もう一つの質問は、renderToStringでスタイルモジュールのRecord.cssをロードする方法です。なぜなら、このrenderToStringで考えると、CSS以外のhtmlをロードできるからです。
私は非同期ロードコンポーネント用の両方のクライアント側とサーバー側のレンダリングをしたいです。クライアントは最初に反応するアプリケーションのメインフレームワークをレンダリングし、サーバーからサブコンポーネントを読み込みます。 – chenatu
はい、私はそれを理解していますが、それはReactの仕組みではありません。もしあなたがもっと文脈を与えて、レコードのクライアント側のレンダリングがなぜあなたにとってうまくいかないのかを説明したとします。 – dpwrussell
私のケースの1つです:React Appには100以上のコンポーネントがあります。私は最初にレンダリングしたくないのですが、ユーザーがいくつかのトリガーされたイベントでブラウザーのページをドラッグ・ダウンするとレンダリングされます。ユーザーのほとんどは、最初の数少ないコンポーネントに主に焦点を当てています。だから私はこれがブランド幅とCPU時間を節約できると思う。 – chenatu