2017-03-13 12 views
1

私は状態管理のためにreduxを使用してリアクションアプリケーションを構築しています。チュートリアルをオンラインで見た後、私はログイン/ログアウト機能を備えた素敵なアプリを作ることができました。しかしリフレッシュすると、私は404を手に入れました。クライアント側のレンダリングであることに気付きました。そこで、ルートを扱うエクスプレスサーバーを追加し、サーバー側のレンダリングを行いました。React Universal App:認証されたAPIコール

データフェッチを呼び出すapi Iには認証が必要です。私はcomponentDidMountのjwtトークンでAPIを呼び出します。それはクライアント側でうまく動作します。ここで

は私の質問です:

しかし、ユーザーがページをリフレッシュする場合、サーバはcomponentDidMountで呼び出しを行うクライアントに続いて、htmlの骨格を送信します。データフェッチはサーバー側で行うことはできますか?はいの場合、(ブラウザのlocalStorageから)どのようにトークンを取得できますか?

+0

あなたの質問は何か不明です(かなりの数があるようです)。あなたはあなたの質問をより具体的にすることができますか? –

+0

質問を2に制限するように編集しました。 – rish08

答えて

0

サーバーにはブラウザにアクセスできないため、ブラウザlocalStorageからデータを取得することはできません。 APIにアクセストークンが必要な場合は、まずページをレンダリングし、トークンをlocalStorageから取得してから、APIからデータを取得します。

+0

認証が必要なアプリケーションでは、データを取得できないため、サーバー上にポイントレンダリングがありません。 – rish08

+0

ユーザーが認証されているかどうかにかかわらず表示されるコンポーネント(navbar、footerなど)は引き続き表示できます。 SSRはSEOにとっても便利です。 –

+0

ありがとうDeividas。最後の質問の1つ - クライアント上でレンダリングしていて、サーバー上のルーティングを処理して、ユーザーがリフレッシュ時に404を取得しないようにする場合。私のアプリは普遍的な/同形的に呼ばれますか? – rish08

関連する問題