pristine
またはdirty
のようなプロパティはありませんが、レデューサーフォームを使用できます。あなたは6+このような何かが動作するはずReduxのフォームを使用していると仮定すると:
connect((state) => {
return {
// assuming form is the reducer's name
myForm: state.form.myForm
}
})(
reduxForm({
form: 'myForm'
})(({ handleSubmit, myForm }) => {
// myForm.values contains all fields that have value.
// myForm.fields contains all fields
const len = (obj) => Object.keys(obj).length;
const allFilled = len(myForm.values) === len(myForm.fields);
console.log(allFilled);
return (
<form onSubmit={handleSubmit}>
<Field
name="text"
component="input"
/>
<Field
name="bar"
component="input"
/>
</form>
)
})
);
少し説明、Reduxのフォームが再来に裏打ちされたとReduxのストアにフォームに関するすべての情報を保持しています。標準のconnect
機能を使用して、その情報を任意のコンポーネントに接続することができます。 この例では、すべてのフィールドに値があるかどうかを確認するためにfields
およびvalues
プロパティを使用しています。
私は同じ問題で苦労し、最終的にこの解決策を出しました。https://stackoverflow.com/questions/48256410/enabling-submit-button-button-when-all-inputs-is-filled 。 – Arsenius