- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在做一个 ReactJs 项目,我在其中使用了 formik。
我有 2 个不同的组件(父组件和子组件)。
这是示例,我试图将 formik 数据从父级传递给子级,我需要从子组件设置父级 formik 值。
现在我遇到一个错误,因为我的父组件调用子组件,当子组件更新父值时,它将再次调用子组件并进入无限循环。
Parent.js
<GSTData gstData={this.props.gstDetails?.GstDetails}
amount={this.props.totalAmount}
onInputControlChange={(Total, GstData) => {
TotalBillAmount = Total;
GstDetails = GstData;
console.log('Total', TotalBillAmount)
//setFieldValue('NetOutStanding', 1);
}}
values={values}
setFieldValue={setFieldValue}
/>
Child.js
componentDidUpdate(){
this.props.onInputControlChange((this.GSTTotal + this.props.amount), this.GstDetails);
this.props.setFieldValue('NetOutStanding', (this.GSTTotal + this.props.amount));
}
最佳答案
发生的事情是,当您更新输入时,它会使用要设置的值调用父级。 parent 然后将该值作为 Prop 传回给 child , child 将其视为更新,然后再次告诉 parent 该值.....因此无限循环
我会尝试服用
this.props.setFieldValue('NetOutStanding', (this.GSTTotal + this.props.amount));
从子组件的 componentDidUpdate
中调用它并从它自己的函数中调用它。(这意味着您还必须设置直接从父组件传入的输入值)。那应该打破循环
关于javascript - Formik 和 ReactJs : SetFieldValue from child to parent component,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60847373/
我正在尝试在我的表单上创建图片上传。问题是当我尝试将值更改为实际上传的文件时。我正在尝试使用 setFieldValue,但它说它未定义。下面是代码。任何想法为什么它是未定义的?我以为它是 Formi
我正在使用 Formik 在创建实体之前验证字段。有一个 Select 打开一个下拉菜单,用户必须从那里选择一个选项。 我收到一条错误消息,说 setFieldValue 未定义,但在我没有找到此方法
我正在尝试在我的示例注册表中使用 ant 设计表单,当我尝试使用 setFieldsValue 时,它抛出错误为“除非使用 getFieldDecorator,否则无法使用 setFieldsVa
我有一个 Formik 表单,需要根据通过路由器传递的信息动态更改。我需要运行 graphQL 查询来检索一些数据并使用检索到的数据填充表单。我能够设置表单并检索数据,但我不知道如何在 useEffe
我正在使用 formik与 @jbuschke/formik-antd和 react-input-mask .我有口罩 +7 (___) ___-__-__应用于其中一个输入,我需要解析它 onSub
好的,所以我有一个附加到自定义记录的用户事件脚本。此自定义记录上的字段之一是项目记录的选择字段。在用户事件脚本中,它获取该字段的值,检查所选项目的项目选项。当它遍历这些值时,它会检查是否缺少某些值并在
在 formik , 属性(property)内 onChange ,有时 onChange = {formik.handleChange}有时被称为 onChange = {v => formik.
我有一个简单的表单字段,当使用 setFieldsValue 触发 onChange 事件时,我尝试格式化并设置字段值,但该方法不起作用。 我正在尝试在同一文本字段中显示格式化值。 请在此处找到沙盒链
我正在做一个 ReactJs 项目,我在其中使用了 formik。 我有 2 个不同的组件(父组件和子组件)。 这是示例,我试图将 formik 数据从父级传递给子级,我需要从子组件设置父级 form
我有这样的正则表达式函数: const format = (value) => { if (typeof value === 'string') { return value.re
我正在尝试使用 formik 操作 setFieldValue。我在一个表单中有一个表单(它是一个表单,然后会打开一个带有不同表单的对话框,但某些字段取决于第一个表单中所写的内容)。 数据发送没问题,
我是一名优秀的程序员,十分优秀!