2017-01-20 11 views
0

私は反応、redux-sagaライブラリの初心者ですので、私はこの問題を解決するために苦労しています...reactとredux-sagaのセレクタから小道具を更新した後、コンポーネントを再レンダリングするにはどうすればいいですか?

私はこのコンポーネントを持っています。私は、取得するためにAPIを使用して、redux-sagaでデータを削除します。

データがロードされると、イベントをクリックしてボタンをオンにしようとしました。削除操作は成功し、レコードはdb.butから削除されます。ビューは更新されないので、ブラウザをリフレッシュすると、クリックされたボタンは削除されます。

どうすれば私のコンポーネントを追加したり、データを削除したときに自動更新させることができますか?あなたの時間をありがとう、私はあなたが私にこれを解決するのを助けてくれることを願っていますT

答えて

1

あなたの状態が変更されない限り、コンポーネントは更新されません。あなたが気づいたように、DBに変更がありますが、あなたのreduxストアの状態、特にselectedListに変更はありません。

DBの削除が成功するのを待ってから、選択したリストをフェッチするために別のアクションをディスパッチすることができます。新しいリストは元のリストとは異なるため、コンポーネントが更新されます。あなたのDELETE要求が得られたことができ、その後、あなたのDELETE後にフェッチアクションを置くことができるので、

export function* deleteSaga (action) { 
    yield call(deleteDataRequest) 
    yield put(FETCH_LIST); 
} 

サガは、フロー制御のこの種のは非常に簡単になります。

これは潜在的な解決策の1つに過ぎません。しかし、うまくいけば、それはあなたが何をする必要がある方向にあなたを指摘します。

+0

私のdeleteSagaにyield fetch_listを追加しようとしましたが、コンポーネント自体がアップデートしていないのに、ブラウザでリフレッシュする必要があります。 –

+0

ありがとうございます。私のコードを修正してください。本当にありがとうD:D –

関連する問題