当某些Field
收到不同的值时,我试图从组件中调用函数。
例如,我有一个组件“ FieldSelections”,用户可以在其中从Field
中选择值。选择一个值后,我想从另一个名为fieldValueChanged
的组件中调用函数MyComponent
。
这是我尝试过的
class FieldSelections extends Component {
handleChange = () => {
this.child.fieldValueChanged();
}
}
...
<Field
name='field'
component={renderSelectField}
onChange={this.handleChange}
/>
<FieldArray
name='fieldArray'
component={MyComponent}
ref={ obj => this.child = obj; }>
</FieldArray>
MyComponent.js
class MyComponent extends Component {
fieldValueChanged = () => {
console.log('Do Something')
}
}
但是它给出了这个错误:
_this.child.fieldValueChanged不是函数
我在做什么错了?
答案 0 :(得分:0)
更改
handleChange = () => {
this.child.fieldValueChanged();
}
收件人
handleChange = () => {
this.props.fieldValueChanged();
}
当在MyComponent中调用它时,请确保将fieldValueChanged()作为道具传递给FieldSelections组件
在MyComponent中,当您调用FieldSelections
<FieldSelections fieldValueChanged={this.fieldValueChanged} />