2017-01-22 11 views
7

RR3でサーバー側のレンダリングで多くの作業を行ったので、v4のコンテキストでどのように動作するかを見てみたかったのです。私はウェブサイトからのチュートリアルに従いましたが、レンダリングがルートマッチと一緒に行われているため、以前のようにプリフェッチデータを実装する方法はありません。ここでリア・ルータv4とプリフェッチ・データを使用したサーバー・レンダリング

は私がV3でレンダリングサーバーを行うために使用される方法は次のとおりです。match関数に基づいて https://github.com/alexnm/react-seed/blob/master/server/index.js

、私はすべてのコンポーネントツリーからすべてのプリフェッチ機能を呼ぶだろうし、それらが終了するのをPromise.allを待って、 renderToString関数をトリガーし、htmlを返します。 RR4で

、我々は唯一の<ServerRouter>コンポーネントを持っているので、私は付属の現在のソリューションは、レンダリングコード複製されます。 https://github.com/FortechRomania/react-redux-complete-example/blob/master/src/server/index.js

を私はまた、プリフェッチ・アクションをトリガーする<Match>タグにrender機能を使用しています。それは醜いですし、プリフェッチされたデータでレンダリングしたいページの親コンポーネントにあらゆる種類の依存関係を導入しています。

私はここで何が欠けていますか?誰もがこのシナリオのより良い解決策を見つけましたか?まだ役に立たないものは何も見つかりませんでした。

+0

は正確に同じ問題を抱えて:/まだ公式の例または任意のチュートリアルはそれを行う方法はありません...あなたのソリューションは、私が見つけた唯一のものです - ありがとう! – szimek

+0

私は今後数週間これをさらに掘り下げる予定ですが、見つかったら答えが返ってきます –

+0

今はコードベースをv3に切り替えましたが、新しいv4ベータ版のapi –

答えて

関連する問題