問題タブ [isomorphic-javascript]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
1004 参照

forms - 同型的にレンダリングされたフォームへの初期入力を処理する方法

サーバー側でレンダリングされ、ユーザーの進行中の作業が事前に入力されたフォームを含む React アプリがあります。問題は、アプリが読み込まれる前にユーザーがフォームの値を編集した場合、アプリは変更を認識しないことです。ユーザーが保存すると、サーバーによってレンダリングされた変更されていないデータが再保存され、ユーザーの新しいデータは削除されますが、フォームには引き続き表示されます。要するに、React と、最初の読み込み時に置き換えられるマークアップの入力値との間に切断があるようです。

すべての入力に ref を配置し、その値を componentDidMount のアプリケーション状態にコピーできると思いますが、もっと良い方法が必要です。他の誰かがこの問題を解決しましたか?

アップデート

これを解決する最善の方法は、チェックサムを作成するときに React に入力値を考慮させることだと私は考えています。GH の問題: https://github.com/facebook/react/issues/4293

0 投票する
1 に答える
270 参照

javascript - NodeJS HTML レンダリング戦略

プロダクション対応のソーシャル ネットワーク Web サイト (Facebook または Instagram スタイル) を構築したいと考えています。サーバー側で Node を使用する予定で、サーバー側でビュー コンポーネントをレンダリングするための最適なテクノロジを探しています。

SEO 対応は必須であるため、Angular は適していないように思えます (誰もが確実な選択肢として Prerender.io を提唱できる場合を除きます)。

また、ほとんどのレンダリングがサーバーで行われ、更新はクライアントで行われるように、AJAX をサポートしたいと考えています。

React を見ると、これは良い選択のように思えますが、私が心配していることが 1 つあります。箱から出してすぐに、すべてのデータをコンポーネント レベルではなくルート レベルでロードする必要があるという事実です (renderToString であるため)。同期です -ここでの議論を参照してください

React を引き継いでいる場合、サーバー サイド レンダリングの強力な代替手段となるものは何なのか、よくわかりません。

私が正しく理解していれば、基本的な方法(サブコンポーネント内からの非同期ロードを許可する)は次のようになります。

Jade などのテンプレート エンジンを使用すると負担が軽減されるようですが、この「React vs. テンプレート エンジン」と呼ばれる問題については何も見つからないため、正しく認識されていない可能性があります。

ありがとう。

0 投票する
2 に答える
129 参照

isomorphic-javascript - 同形のシングル ページ アプリケーションでは、新しいサーバー コードをデプロイするとクライアントはどうなるでしょうか?

同形のシングルページアプリを実装するときに、クライアントが更新のためにヒットするプライベートAPIも開発したことは暗示的だと思います。

私の質問は、コードの変更をサーバーにプッシュすると、古いクライアント コードをまだ実行している「古い」クライアントが存在し、互換性のないパラメーターと仮定で API をヒットすることです。

考えられる解決策は 2 つあります。

  1. API をバージョン管理します。クライアント コードは、現在のバージョン番号で API をヒットする必要があります。サーバー コードがバージョニング ロジックで肥大化します。
  2. ある種のソケット/プッシュ メッセージングを実装して、展開が発生するたびに最新の展開されたコードを取得するためにページ全体を更新するようにクライアントに指示します。(これらの接続は、サーバーの展開後もそのまま維持されますか?)

(サポートするモバイル アプリ クライアントもある場合は、API のバージョン管理が必要ですが、単なる Web サイトの場合は、多くの不必要な作業のように思えます。)

他の誰かがこの問題に遭遇したり解決したりしますか? 私が見逃している他のオプションはありますか?

0 投票する
1 に答える
218 参照

javascript - IMA.js を使用した JavaScript 同形アプリケーション

IMA.js フレームワーク ( https://github.com/seznam/IMA.js-skeleton ) を使用して、最初の JavaScript 同形アプリケーションを作成してみました。一見すると、いくつかの質問があります。

  1. 「gulp.dev」を呼び出すと、新しい Chrome ウィンドウが開きます。

    a) なぜ Chrome なのですか? 変更できますか?Firefox を使用するとどうなりますか? Chrome をまったく持っていない場合はどうすればよいですか?

    b) ウィンドウを閉じられないのはなぜですか?

  2. IMAError を使用するための推奨事項があります。何故ですか?

  3. $Utils を props に転送する必要があるのはなぜですか? その機能は何ですか?

  4. コントローラーとビューをどのように正確に通信しますか?

0 投票する
2 に答える
337 参照

reactjs - reactjs/flux/react-router スパを同形にする方法は?

私は、reactjs、flux (サードパーティの実装なし)、react-router を使用してスパを開発しました。

どうすれば同形にすることができますか?SEO と初期読み込みでのパフォーマンス向上のため。