4

私はここで頭を悩ませています。私は2つのアプリを持っています。それらは別個のツールです。しかし、ツール 1 の 1 つはツール 2 の一部を使用しています。どういうわけかそれらをバインドできるようにするミドルウェアはありますか?

TOOL APP1 --- 独自の redux ストアがあります TOOL APP2 --- 独自の redux ストアがあります

APP1 には APP2 からの動作が必要です。したがって、新しいバージョンを「構築」する代わりに、APP2 のサブセクションをインポートして使用するだけです。APP1 は、APP2 サブコンポーネントに格納されている状態を設定および取得する方法を知る必要があります....

reduxがこれを行うための方法論はありますか?

さらに悪いことに、APP2サブコンポーネントの状態をlocalStorageまたはredisなどに保存できると思います..そして、それでAPP1をハイドレートできます..しかし....

4

1 に答える 1

0

それほど難しくありません。

これは、共有コンテナー コンポーネント ( connect()react-redux の呼び出しによってラップされる手段)、共有レデューサー、共有アクション (アクション クリエーターを使用)、および共有ミドルウェアを提供することで実現できます。次に、コンテナー コンポーネントを使用し、レデューサーを挿入して、メイン アプリケーションにミドルウェアを適用します。

これは、自己完結型の共有コンポーネントを含むデモ アプリです。
https://github.com/kuy/popover-profile

タイムライン アプリ:オンライン デモ
メッセージ アプリ:オンライン デモ

ページ内でユーザー名をホバーしてください。ポップアップ プロファイルが表示されます。

これら 2 つのアプリは、Gmail や SoundCloud のマウスオーバー名に関するプロファイル ツールチップのようなポップオーバー プロファイル コンポーネントを共有しています。状態を共有するだけでなく、このコンポーネントは (偽の) API サーバーと通信します。これは、 redux-sagaを使用する共有ミドルウェアによって実行できます。

于 2016-04-15T09:02:54.093 に答える