2017-12-21 18 views
0

は、今私がチェックを行うことです。この例のようには更新を終了したデータは、その後、「componentWillRecieveProps」は、それが終了しているReduxの状態の「nextProps」をチェックしたりしないように使用して他の事(REACTJS + REDUX)

if (!nextProps.a.update && !nextProps.a.error && 
    nextProps.a.update !== this.props.a.update) { 
    const oldData = [...this.props.a.data]; 
    const newData = [...nextProps.a.data]; 
     . 
     . 
     . 
    }); 
} 
} 

誰もがそれを確認するために別の良いアイデアを持っていましたか?

ありがとうございました。

答えて

0

あなたはReduxの-大河ドラマのような任意のミドルウェアを使用したり、更新が行われているかどうかを確認したりしませミドルウェア自体から、その更新されたら、あなたはミドルウェア自体からアクションを派遣することができますし、通知を受けることができサンクされている場合。 あなたのケースにどれだけ適しているかわかりません。

+0

私は佐賀に使用することはできません。何か考えましたか? – ppppp

0

それは本当に依存します。 1. your'eを実装しようとロジックは、唯一の同じコンポーネント用で、1から、一度にアクションを派遣し、その後、フラグを使用すると、間違いなくOKで、「更新する」と「アップデートをした上で偽にtrueを設定します'(必要に応じてマウントする場合も同じです)。 2.ロジックが動作していない場合は、約束を使用してバルキングメカニズムを作成してください。繰り返しますが、あなたのロジックに依存します。たぶん、更新の種類ごとにフラグを使用すれば十分でしょう。 3.ロジックがシステム全体に広がっている場合は、グローバル変数を使用します。多分、 'window'に設定することさえできます。たとえば、保留中のajax呼び出しがあるかどうかを定義する 'isLoading'という変数を実装したかったのです。

それはあなたが探していたものだ場合は私に知らせてください。

+0

フラグは何ですか?と '更新されます' setState(フラグを設定することはできません)できません。 – ppppp

+0

フラグ - コンポーネント上の真偽値インジケータ。 1.更新はsetStateを使うのではなく、取得したnextStateパラメータを更新するだけで、状態を設定できます。 2.このフラグを自分の状態に保持する必要はありません。コンポーネント自体で使用することができます。データ更新自体は更新サイクルを引き起こすため、このフラグは常にトリガされます。 –

関連する問題