reactjs - React Formik:如何使用 formik 值的 useEffect?
问题描述
如果 formik 的值已更改,我想使用 useEffect 重新呈现字段。但它不起作用..
实际上我创建了一个小例子来展示我的问题。这里我有一个字段“标题”,如果这个字段发生了变化(当我们写进去时)它应该调用 useEffect 并打印“更新!” 但它没有!
const FormikWidgetConfigurator = (props) => {
useEffect(() => {
// doesn't work if values has changed
console.log('update!')
}, [props.values]);
return (
<Form onSubmit={ props.handleSubmit } noValidate>
<Form.Group className='py-3' >
<Col md='6' style={{ padding: '0px' }}>
<Form.Group controlId='title'>
<Form.Control
type='text'
value={ props.values.title }
onChange={props.handleChange}
/>
</Form.Group>
</Col>
</Form.Group>
</Form>
)
}
const WidgetConfigurator = withFormik({
mapPropsToValues(props) {
return {
title: 'No Title'
};
},
validationSchema: props => Yup.object().shape({title: Yup.string()}),
handleSubmit(values, { setSubmitting }) {// handle submit}
})(FormikWidgetConfigurator);
export default WidgetConfigurator;
编辑:实际上它按预期工作。(我没有改变任何东西)
谢谢!
解决方案
推荐阅读
- php - 从链接 php 收集变量
- javascript - 条件渲染 JSX ReactJS 的最佳实践
- python - 有时这种 tensorflow 训练有效,有时却无效
- python - AWS to SQL pandas AttributeError:“系列”对象没有属性
- reactjs - 自定义挂钩未按预期检索数据
- select - Teradata:插入选择的表结果
- ruby-on-rails - 模型的未定义方法“imageable_type”
- events - 点击手势识别器不适用于 Xamarin 表单中的形状?
- .net - 如何在 Mac 上打开带有 .application 扩展名的程序?
- python - 需要帮助识别错误:+ 不支持的操作数类型:“_hashlib.HASH”和“字节”