如何在没有 <Field> 元素的情况下手动触发 onChange 事件?
How to manually trigger onChange event without <Field> element?
我有这样呈现的组件:
<MyComponent
prop1Value={1}
prop1OnChange={this.handleProp1Change}
prop2Value={2}
prop2OnChange={this.handleProp2Change}
/>
所以它内部包含两个fields/values。我如何将它与 redux-form 同步? <Field>
组件只提供一对value/onChange...
这样试过:
// values comes from getFormValues(...)
<MyComponent
prop1Value={values.prop1}
prop1OnChange={this.context._reduxForm.change.bind(this.context._reduxForm, 'prop1')}
prop2Value={values.prop2}
prop2OnChange={this.context._reduxForm.change.bind(this.context._reduxForm, 'prop1')}
/>
您必须使用 connect
来绑定这些操作。
import { change } from 'redux-form';
import { connect } from 'react-redux';
const ParentComponent = (props) => {
return <div>
<MyComponent propOneOnChange={props.change('formName', 'fieldName', 'fieldValue')} />
</div>
}
export default connect(mapStateToProps, { change })(ParentComponent);
我有这样呈现的组件:
<MyComponent
prop1Value={1}
prop1OnChange={this.handleProp1Change}
prop2Value={2}
prop2OnChange={this.handleProp2Change}
/>
所以它内部包含两个fields/values。我如何将它与 redux-form 同步? <Field>
组件只提供一对value/onChange...
这样试过:
// values comes from getFormValues(...)
<MyComponent
prop1Value={values.prop1}
prop1OnChange={this.context._reduxForm.change.bind(this.context._reduxForm, 'prop1')}
prop2Value={values.prop2}
prop2OnChange={this.context._reduxForm.change.bind(this.context._reduxForm, 'prop1')}
/>
您必须使用 connect
来绑定这些操作。
import { change } from 'redux-form';
import { connect } from 'react-redux';
const ParentComponent = (props) => {
return <div>
<MyComponent propOneOnChange={props.change('formName', 'fieldName', 'fieldValue')} />
</div>
}
export default connect(mapStateToProps, { change })(ParentComponent);