私はReduxには新しく、単方向データをより洗練されたものにするために関数型プログラミングを使用するという大きなイメージを実際に得ようとしています。Redux:なぜそれを使用することのような突然変異を避けるのですか?
各レデューサーは古い状態を取っており、古い状態を変更せずに新しい状態を作成してから、新しい状態を次のレデューサーに渡して同じことを行います。
私はそれが副作用を引き起こさないということは、単方向のデータフローの利点を得るのに役立ちます。
私は本当に古い状態を変更しないことについて非常に重要であるものは得られません。
私が考えることのできる唯一のことは、あなたが各州を握っていれば、実行して元に戻すことができたからかもしれないからです。
質問:
たちは各ステップで古い状態を変異させたくない他の理由がありますか?
これまでのところ、これは質問の中核としての最良の答えです。私が言ったように - 「副作用を引き起こさないようにすることで、一方向のデータフローの利点を得るのに役立ちます。**私は、本当に古い状態を変更しないことについては何も重要ではありません。**」 –
なぜですかこれは受け入れられた答えではありませんか?要するに、オブジェクトを変更すると、次の比較はできません。immutableObject1 === immutableObject2。代わりに、オブジェクト内のプロパティが変更されているかどうかを確認するために、深い比較を実行する必要があります。 – Antoni4