私はReact-Reduxアプリケーションを持っており、更新機能を構築しています。私は状態のプロットのリストを持っていて、それらの一つを更新します。アップデートAPIコールが成功すると、更新されたプロットがレスポンスとして取得されます。古いプロットを状態の更新されたプロットに置き換えるにはどうすればよいですか?バックエンドからの戻りに基づいて配列内の1つの要素をRedux更新する
今、これは私のレデューサーです。更新されたプロットがログに記録されているのを見ていますが、リロードしない限り状態は置き換えられません。私はいつも成功のバックエンドからプロットリスト全体のリロードをトリガーすることができますが、不要な呼び出しを避けたいと思います。
case UPDATED_PLOT:
action.payload.id = action.payload._id;
console.log('updated plot received by reducer: ', action.payload);
return {
...state,
filteredPlots: state.filteredPlots.map(
plot => (plot.id == action.payload.id ? action.payload : plot)
)
};
私はReact状態が更新されないと確信しています、React Dev Toolsでそれを見ているからです。 Redux Dev Toolsは私のためには機能しません(理解できません) –
react開発ツールはあなたに還元状態を示していますか?私が作ろうとしているのは、あなたの還元状態が反応する方法に問題があるかもしれないということです。 – hedgepigdaniel
React-devは特定のReactコンポーネントに渡される還元状態の部分を表示します。私はそこにフィルタリングされたプロットを見ることができます。なぜなら、コンポーネントはこの状態の部分をその小道具に写像するからです。彼らは変わらない。 –