だから、React + Reduxを使用して、非常にシンプルなCRUDスタイルのアプリケーションをコアにしています。 APIを使って投稿を呼び出すことができます(私はそれらを呼び出すことができます)。そして、それらをリストすることができるようにしたいと思います。ユーザがそれをクリックすると、その投稿の詳細ページに移動します。単純なCRUDアプリケーションのレデューサーをreduxで構造化する
だから、私は減速機を持っています。もともと、私はredux現実世界の例から取ったアプローチを使い始めました。これは、インデックスリデューサを介してオブジェクトのキャッシュを維持し、 "get post"を実行するとキャッシュをチェックし、キャッシュがあればそれを返し、そうでなければ適切なAPI呼び出しを行います。コンポーネントがマウントされると、このキャッシュから物事を取得しようとします。存在しない場合は、それらが存在するまで待機します(falseを返します)。
これはうまくいきましたが、いろいろな理由から、この非キャッシングを行う必要があります。つまり、/ posts /:postIdページを読み込むたびにAPI経由で投稿する必要があります。
私は非控除の世界では、単にcomponentDidMountでfetch()を実行し、次にそれに対してsetState()を実行することを認識しています。しかし、私はアプリケーションの他の部分がそれらのポストを変更するアクションを呼び出すかもしれないので(例えば、ウェブソケットまたは複雑なレシックスに接続されたコンポーネント)、減速機に格納された投稿を望みます。私は、人々が使用見てきた
一つのアプローチは、次の例のように、彼らの減速で「アクティブ」の項目である。この一方でhttps://github.com/rajaraodv/react-redux-blog/blob/master/public/src/reducers/reducer_posts.js
はOKですが、それは、アクティブなポストをロードし、各コンポーネントがcomponentWillUnmountを持たなければならないことを必要アクティブな投稿をリセットするアクション(resetMe:https://github.com/rajaraodv/react-redux-blog/blob/master/public/src/containers/PostDetailsContainer.jsを参照)。それがアクティブな投稿をリセットしなかった場合、次の投稿が表示されている間、つぶれてしまいます(APIコールが行われている間は短時間点滅しますが、それでもいいとは限りません)。一般的に、投稿を見たいすべてのページにcomponentWillUnmountのresetMe()を実行させることは悪臭のようになります。
だれでもアイデアがありますか、これについての良い例がありますか?そんな単純なケースのように思えますが、私は少し驚いています。それを行うにはどのように
「アクティブな投稿をリセットしなかった場合」とはどういう意味ですか?あなたは本当のユースケースを提供できますか? –