У меня есть «виртуальное» поле inspection.images
, которое мне нужно обновить из дочернего компонента, используя setFieldValue
, но оно не обновляется. Что я делаю не так?
родитель-component.js
...
<Formik
initialValues={{
inspection: {images:[]}
}}
onSubmit={values => {
console.log('form values: ');
console.log(JSON.stringify(values, null, 2));
}}
render={({values, isValid, handleSubmit, setFieldValue, errors}) => (
<View style={styles.screen}>
<Walkthrough onChanged={this.onWalkThroughIndexChanged}>
<InspectionForm navigation={this.props.navigation} values={values} setFieldValue={setFieldValue}
mediaObjectsHandler={this.mediaObjectsHandler.bind(this)}/>
</Walkthrough>
</View>
)}
/>
ребенок-component.js
...
export class InspectionForm extends React.Component {
constructor(props) {
super(props);
this.state = {
inspectionMedia: [],
progress: 0,
};
props.setFieldValue('inspection.images', [...props.values.inspection.images, 'xxxx.png']);
}
render() {
return (
...
);
};
}