問題タブ [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 投票する
1 に答える
1004 参照

node.js - React サーバー側レンダリングで props を渡す

Node (express) サーバー側からレンダリングされたときに、初期の props を React コンポーネントに渡すのに問題があります

これが私のコンポーネントの短いバージョンです:

そしてこちらがサーバーサイド

locationsrender() メソッドで使用しようとすると、prop がコンポーネントに渡されていないようです。

何か案が ?

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

javascript - Catberry フレームワークを使用して URI パス セグメントでアプリケーション言語を設定するには?

たとえば、アプリケーションの言語を次のように定義したいcatberry-l10nプラグインを使用します。

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

reactjs - reactJS : フラックスを使用した同型アプリ

React-flux-cart . この例には、react のクライアント側コードのみが含まれています。同形にする方法。ノードを含めてサーバー側でもそのまま実行するために変更が必要な場所は何ですか。

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

javascript - Catberry Framework を使用して一意のコンポーネント ID を作成するベスト プラクティスは何ですか?

Catberry にはコンポーネントの要件があります。すべての ID が一意でなければなりません。

入れ子になったコンポーネントの階層が複雑な場合に一意の ID を作成するためのベスト プラクティスは何ですか?

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

clojure - uberjar が clojure アプリをコンパイルする前に cljsbuild を実行するにはどうすればよいですか?

clojure/clojurescript/reagentntで同型アプリを作っています。サーバー側のレンダリング用に clojurescript の出力 js ファイルに依存しているため、jar がコンパイルされる前にそのファイルをコンパイルしたいと考えています。それ、どうやったら出来るの?

「lein uberjar」の出力は、jar が最初にコンパイルされることに注意してください。私の clj ファイル "nash.clj" は、コンパイルされた server-side.js ビルドを実行する必要があります。

そして、私の project.clj... cljsbuild 全体は現在、私にとって謎です。

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

reactjs - Flux と React を使用して同型アプリでルート変更時に外部 API からデータを読み込む

私は最近、アプリケーションのルートを処理するために、 react-routerを備えた同形アプリで Flux Architecture を使用しています。私の質問は、ルートが変更されたときに外部 API からデータをロードする方法です。

例:

私が理解しているように、データは Action にロードする必要があります。しかし、これに関する簡潔な例は見つかりませんでした。

私はES6を使用しています。

0 投票する
0 に答える
412 参照

javascript - クライアント側のReact Routerは一度だけ動作します

同形アプリを作成するために、サーバー側とクライアント側の両方のルーティングに反応ルーターを使用しています。サーバーのルーティングは正常に機能し、データを正常に取得できますが、クライアントでは、最初にクリックしたリンクで、URL の変更時に react-router のコールバックが呼び出されます。その後のクリックでは、何らかの理由でコールバックがトリガーされません。

サーバーで反応ルーターのメイン実行メソッドを実行しています。

クライアントで私は以下を実行しています

私の client.js では、react ルーターの実行のコールバックが 1 回だけ呼び出されますが、これは私には奇妙です。目に見えるエラーはありません。誰でもアイデアはありますか?

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

reactjs - クライアント側とサーバー側のレンダリングのために、react-router と redux を論理的に組み合わせる方法

React ベースの SPA をサーバー側でレンダリングしたいと思います (最近はそうではありません)。したがって、React をreact-routerredux 、およびisomorphic starterkitのようなビルド レイヤーと組み合わせたいと考えています。

すべてを結合するhapi Universal reduxがありますが、フローを整理する方法に苦労しています。私のデータは、REST API の複数のエンドポイントから来ています。コンポーネントが異なればデータのニーズも異なり、クライアントにジャスト イン タイムでデータをロードする必要があります。サーバーでは、特定のルート (コンポーネントのセット) のすべてのデータを取得し、必要なコンポーネントを文字列にレンダリングする必要があります。

私の最初のアプローチでは、redux のミドルウェアを使用して非同期アクションを作成しました。これは、データをロードし、promise を返し、SOME_DATA_ARRIVEDpromise が解決されたときにアクションをトリガーします。次に、レデューサーがストアを更新し、コンポーネントが再レンダリングされます。すべて問題ありません。原則として、これは機能します。しかし、ルーティングが始まると、流れがぎこちなくなることに気付きました。

多数のデータ レコードを一覧表示する一部のコンポーネントには、レコードをフィルター処理するための複数のリンクがあります。フィルタリングされたすべてのデータ セットは、 のような独自の URL を介して利用できる必要があります/filter-by/:filter。そのため、さまざまなコンポーネントを使用<Link to={...}>して、クリック時に URL を変更し、ルーターをトリガーします。ルーターは、現在の URL によって表される状態に従ってストアを更新する必要があります。これにより、関連するコンポーネントが再レンダリングされます。

それを達成するのは容易ではありません。最初にアクションをトリガーしようとcomponentWillUpdateしました。これにより、データが非同期に読み込まれ、ストアにデータが入力され、コンポーネントの再レンダリング サイクルがもう 1 回発生しました。ただし、これはサーバーでは機能しません。3 つのライフサイクル メソッドしかサポートされていないためです。

だから私はこれを整理する正しい方法を探しています。ユーザーの観点からアプリの状態を変更するアプリとのユーザー インタラクションは、URL を更新する必要があります。IMOこれにより、ルーターは何らかの方法で必要なデータをロードし、ストアを更新し、調整プロセスを開始する必要があります。

だからinteraction -> URL change -> data fetching -> store update -> re-render

initial state要求された URL からロードするデータを決定し、その状態をstore生成して reduxの生成に渡すことができるため、このアプローチはサーバーでも機能するはずです。しかし、私はそれを適切に行う方法を見つけていません。したがって、私には次のような疑問が生じます。

  1. まだ理解していない/知らないことがあるため、私のアプローチは間違っていますか?
  2. redux の REST API からロードされたデータを保持するのは正しいstoreですか?
  3. stateコンポーネントをredux に保持し、store他のコンポーネントを自分で管理するのは少し厄介ではありstateませんか?
  4. 持っているという考えはinteraction -> URL change -> data fetching -> store update -> re-render単に間違っていますか?

私はあらゆる種類の提案を受け付けています。