冗長管理によるステータス

2307 ワード

冗長管理によるステータス


この文書の上部に記載されている「ステータス管理」の定義と同様に、ステータス管理は、ステータスを効率的に管理するためのツールです.
状態が変化すると再レンダリングされるので、状態コンポーネントを最小化することをお勧めします.SPAでは、時間が経つにつれて、ステータスコンポーネントが多くなるに違いありません.このような状況に対応するために、次の方法で、複数のステータスコンポーネントをより効率的に管理できます.

ショップを使用して、ステータスを構成部品構造の外に配置し、ショップというミドルウェアでステータスを更新するか、新しいステータスを受信します.
すなわち、ガイドを使用すると、上記のように状態値を構成部品に依存させることなく、状態管理を外部から行うことができる.

リデスのプロセス全体



道徳概念.


まず、Reduxプロセス全体における用語の定義と役割について説明します.リデックスを使うと、重要なコンセプトなので、それを整理したほうがいいです.
1) Action
状態が変化する必要がある場合、動作をトリガーします.このアクションはオブジェクトとして表示されます.たとえば、保留中のリストを追加するか、保留中のリストを削除する場合は、追加または削除するアクションのタイプを定義する必要があります.
{
  type: "ADD_TODO",
  data: {
    id: 0,
    text: "redux"
  }
}
アクションには、「タイプ」というフィールドが必要で、必要に応じて他のオブジェクトの要素を追加できます.上のデータフィールドと同じです.
2) Action Creator
アクション作成関数と呼ばれるアクション作成器は、アクションを作成する関数です.パラメータ入力を受け付け、動作対象とします.
function addTodo(data) {
  return {
    type: "ADD_TODO",
    data
  };
}
この関数は、動作をオブジェクトシェイプに戻すdataというパラメータを受け入れます.
3) Reducer
Reduserは変化を引き起こす関数です.この関数は、前の状態と動作をパラメータとして入力します.
function reducer(state, action) {
  ...
  return alteredState;
}
戻り値は、論理的に変更されたステータス値を返します.
4) Store
リポジトリは、構成部品外部のステータスリポジトリです.ショップには、現在のステータス、リカバリプログラム、およびいくつかの組み込み関数が含まれています.
5) Dispatch
Dispatchはショップの内蔵関数の一つで、動作を刺激することができます.このカテゴリのHatherの中の「ショップは状態変化の必要性をどのように理解していますか?」質問があるすぐにアクションがトリガーされ、店にステータスを変更する必要があることを通知します.
これにより、呼び出されたアクションはコールバック関数を呼び出し、アクションの論理に基づいてステータスを変更します.

リドスで守らなければならないルール


Ridexでは、ステータス管理が安定していることを確認するには、次の3つのルールを遵守する必要があります.
1)単一ショップを使用することを推奨します.
アプリケーションでショップを使用することをお勧めします.
2)ステータスは読み取り専用でなければなりません.
アレイ形式のステータスが存在するが、論理的にアレイに新しい値を追加する必要がある場合は、新しい値を既存のステータスに直接プッシュするのではなく、新しいアレイ(concatなど)で置き換えて更新する必要があります.この更新方法を用いると、不変性を維持することができる.
この更新方法は,冗長変化検出法に適した浅い等しい状態変化であるため,不変の更新を維持するために用いられる.
3)reducerは純粋な関数でなければなりません.
純関数とは、同じ入力を受信したときに常に同じ出力を出力する関数です.クリックしてアクションをトリガーし、作成した論理の背景色がランダムである場合は、関数の論理にランダム値を作成する必要があります.ランダム値の作成は、出力のたびに変化することを意味するため、純粋ではない関数です.