0
フォームの状態が親コンポーネントからダーティかどうかを検出しようとしているため、フォーム値が変更..Reduxフォームv6 isDirty(およびisPristine)セレクタが状態変更時に再レンダリングを起動しない
初期のレンダリングは、コンソールが初期で<Parent/>
isDirty
のレンダリングすることを示しているprops.isDirty
をロギング
import React from 'react'
import { isDirty } from 'redux-form'
import { connect } from 'react-redux'
<Parent>
{ props.isDirty ? <SubmitButton /> : null }
<Form {...etc} />
</Parent>
const mapStateToProps = state => ({
...
isDirty: isDirty('myForm')(state),
})
export default connect(mapStateToProps, null)(Parent)
予想通り偽示していますが、値を変更すると、新しいvlaueで再レンダリングトリガーされません。..
偽です。ただし、値を変更しても、新しい値の
<Parent/>
の再レンダリングは実行されません。
更新:
はさらに調査した後、私はこれはバグだと思う:ここ
const mapStateToProps = (state) => {
console.log(isDirty('myForm')(state)
return {
...
isDirty: isDirty('myForm')(state),
}
は、フォームの値を変更することが予想されるが、isDirty
は常に偽であるとしてmapStateToProps
トリガします。