私は自分のプロジェクトでリアクトライクなアプローチを使用しています。私の問題は私のレデューサーがかなり「フラット」ですが、彼らは異なるステートツリーエリアで多くのアップデートを処理する必要があるため、より複雑になります。リファクタリング脂肪減量剤
たとえば、アクション 'DO_SOMETHING'をディスパッチした後は、まず3つのLOC内で自分の状態を更新する必要がありますが、プロジェクトが成長して追加機能を使用する必要がある場合、同じアクションを実行した後あなたが想像することは、同じツリーの多くの異なる領域に同じ方法で触れているように、何週間も費やした後に減速機が「太っている」と想像することができます。しかし、コードを適切に構造化するのは本当に難しいですツリーと1つの店舗)。私は与えられたシナリオを見つけることができるチュートリアルのほとんどで
:
- 派遣「ADD_TODO」
- 更新状態、私の場合は一方で ドス
の配列に新しいTODOを追加
case SELECT_FILTER:
return Object.assign({}, state, {
oneProperty: ...,
anotherProperty: null,
nextProperty: false
// and the logic is getting bigger and bigger
})
- dispa:それはようなものですTCH「SELECT_FILTER」
- アップデート適用されるフィルタセクション(適用されたフィルタのUIの要約)この
- コピー
- 明らかサーバーからデータをフェッチするために使用されます
- 更新クエリ
- 来月このフィルタする必要があることまた...
:/
私は "減速のセット" を作成しようとした - ので、フィルターの減速、リストの減速などをしかし、問題は私が同じページで作業していて、着信機能がクロスカッティングの変更を導入していることです。シンプルなグループ化は小規模なアプリケーションでは大丈夫でしたが、今では各減速機が私の国の多すぎる部分に興味を持っているようです。
私の質問はどのように私のレデューサーを適切に構造化するのですか?たぶん私はあまりにも多くの "ローカル状態"を状態ツリーに入れますか?または、他の何か?私はあなたのソリューションが減速器を構成し構造化することに関連することを楽しみにしています。
多くの素晴らしい読書!ありがとう! – psmyrdek