如何在没有 <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);