私のInspectorOptionコンポーネントの1つをクリックすると、reduxロガーはアクションがディスパッチされ、状態が期待どおりに更新されることを示します。アクションがディスパッチされ、状態更新が行われたときにコンポーネントが再レンダリングされない
My InspectorSelectとchildren InspectorOptionコンポーネントは、react-reduxのmapStateToPropsへの接続を使用します。これらのコンポーネントは、stateから来たものに依存します。
しかし、状態が更新されており、コンポーネントが状態に依存している場合でも、状態が更新されると、コンポーネントは再レンダリングされません。
状態が変わったときにコンポーネントが再レンダリングされないのはなぜですか?これを修正するにはどうすればよいですか?
@connect((state) => {
return {
options: state.inspector.options
}
})
export default class InspectorSelect extends Component {
render() {
return (
<div>
{
this.props.options.map(option => {
return <InspectorOption
option={ option }
key={ option.id }
/>
})
}
</div>
)
}
}
https://github.com/caseysiebel/dashboard/blob/master/src/components/InspectorSelect.js#L17
時間の99.9%は、レデューサー(またはコード内の他の場所)でRedux状態が誤って突然変異したためです。 http://redux.js.org/docs/faq/ReactRedux.html#react-not-rerenderingを参照してください。 – markerikson
前のコメントの状態と同じように、おそらく状態の突然変異が原因です。あなたのレデューサーを投稿すると誰かがエラーを見つけられる可能性があります –