2017-04-20 6 views
2

これは何度か質問されていますが、この問題のすべてのガイドは、実際にその背後にある方法論を実際に説明することなく、ソリューションをオーバーエンジニアリングする傾向があります。リアクションを使用したサーバー側レンダリング

私は現在、(create-react-appのビルドタスクを介して)ビルドされてからNodeによってサービスされるReactフロントエンド(リアクションルータはありますが他の技術はありません)を持っています。問題ありません、すべて正常に動作します。 SSR'd溶液に、これをオンにする

、それはルート定義内で、同じくらい簡単です:

const ReactDOM = require('react-dom/server'); 
const MyRootComponent = require('path/to/component'); 
return response.send(ReactDOM.renderToString(MyRootComponent)); 

MyRootComponentが私のルートを含むリアクトコンポーネントであると仮定する。

ありがとうございました!

+0

既に試しましたか?それは動作しませんでしたか?私にとっては、あなたのコンポーネントの静的なHTML表現をレンダリングするように働くように見えます。対話性のためにフロントエンドに再マウントする必要があるかもしれません... –

+1

doctype、scripts、styles、初期状態をシリアライズし、初期データの読み込みを処理します(コンポーネントがデータベースから何らかのデータを必要とする場合)。これをすべて集約すると、「過剰に設計された」ソリューションになります。 –

答えて

0

YesとNo

いくつかの注意点があります 即ち、コンポーネントのライフサイクルは同じではありません。サーバー上にはコンポーネントを持つことはできませんReceiveProps

関連する問題