2016-11-23 14 views
0

私は2つのコンポーネントを持っていて、それぞれコンテナで接続されていて、どちらも提供された状態でマップされた小道具を持っています。子コンポーネントは再レンダリングされますが親コンポーネントはありません

子コンポーネントが再レンダリングされるアクションが1つありますが、親コンポーネントは再配置されません。私はこれがどのように可能か理解していません。

私のレデューサーが状態を変更していないことは確かです。このアクションの結果と再差異の結果、子コンポーネントの小道具は(州から正常に削除されたため)未定義です。しかし、私はそれが期待どおりに親のレンダリング機能が再実行された場合、そのレンダリング機能は実行されませんでした。

状態が変わったときに親コンポーネントのレンダリング関数が呼び出されないのはなぜですか?

+0

質問に記載されている親コンポーネント、子コンポーネント、レデューサー、アクションクリエイターから適切なコードを投稿してください。 –

+0

@ free-soulはそれをすべて質問に貼り付けますか?私はここで混乱するのが好ましいと思った。 –

答えて

1

これは、react-redux v4の実装の詳細に関連しているようですが、子コンポーネントは親コンポーネントの前に更新されています。これはreact-redux v5で変更されており、npm install [email protected]をインストールすることでテストできます。

+0

うわー、十分に簡単。私はそれを示すいかなる問題や文書も見ていなかった。私はちょうど状態とparamsが渡されるのと同じ方法でレンダリングが単方向であると仮定しました。どうもありがとうございました。 –

+1

次のreact-reduxベータ版では、React 15との互換性の理由から、この変更が5.0のオプトイン動作になるため、正しい動作をさせるために有効にする必要があります。この計画は、React 16が上陸したときのデフォルトの動作にすることを計画しています。 react-reduxリリースノートに注目してください。 –

関連する問題