如何一次性设置所有formik值?

2023-12-22

我有一个formik用于编辑来自 API 端点的数据的表单,目前我正在重新初始化useEffect像这样挂钩

React.useEffect(() => {
    initialValues.first_name = address?.first_name;
    initialValues.last_name = address?.last_name;
    initialValues.middle_name = address?.middle_name;
    initialValues.label = address?.label;
    initialValues.description = address?.description;
  }, [address, initialValues]);

由于表单有很多值useEffect钩子变得很长而且看起来也不干净,我试图找到一种方法在一行中完成它,这样它就不会得到一大段代码。


所以当我使用 formik.setValues 时它起作用了,因为它返回一个承诺,所以我把它放在一个异步函数中。formik.setValues https://formik.org/docs/api/formik#setvalues-fields-reactsetstateaction-field-string-any--shouldvalidate-boolean--void

  React.useEffect(() => {
    async function setInitialValues() {
      if (address) await formik.setValues(address, false);
    }
    setInitialValues();

    // eslint-disable-next-line react-hooks/exhaustive-deps
  }, [address]);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何一次性设置所有formik值? 的相关文章

随机推荐

  • 如何在 Flask-restless 中返回“已存在”错误?

    我想做一些异常处理程序 我在 python 中使用 Flask restless 和 SQLAlchemy 的组合 我的问题 当我使用数据库中已存在的对象向 api 发送请求时 SQLAlchemy 显示异常 IntegrityError
  • MYSQL左连接来自多个表的COUNTS

    我想添加表示其他表中的计数的列 我有3张桌子 Messages MessageID User Message Topic 1 Tom Hi ball 2 John Hey book 3 Mike Sup book 4 Mike Ok boo
  • Websocket连接自动关闭?

    我是网络套接字编程的新手 我有以下 JavaScript 客户端代码 var connection new WebSocket ws localhost 8080 OmegaThings registerdevice connection
  • 输入字段在 Chrome 和 Firefox 中显示不同

    我在 Chrome 中进行了测试 显示正常 但在 Firefox 中 输入框比预期大 这是标记 div class form wrapper div
  • 绘制离屏 CALayer 内容的最快方法

    我正在寻找在 macOS 上绘制离屏 CALayer 内容 不需要 Alpha 的最快方法 请注意 这些示例不是线程化的 但重点是 以及为什么我不只是使用 CALayer setNeedsDisplay 因为我正在后台线程上进行此绘图 我原
  • itunes 上缺少本地化屏幕截图错误

    我已选择默认语言 澳大利亚英语 作为默认语言 当我提交二进制文件时 它显示为被拒绝的 红色图标 状态为 缺少本地化屏幕截图 该应用程序仅使用单一语言 我添加了屏幕截图 该应用程序仅适用于 iPhone 当我查看显示为的二进制信息时 本地化
  • 可以监控 STM 的争用级别吗?

    有没有办法轮询 Clojure 的 STM 事务是否正在重试 以及重试的速率是多少 您可以观察history count一个 ref 将表明存在争用 user gt def my ref ref 0 min history 1 user m
  • Servlet 会话超时

    我正在编写我的 Spring MVC Web 应用程序 我将会话时间设置为 10080 分钟 相当于 1 周 现在我想让用户每次打开浏览器时都保持登录状态 sessionService setcurrentUser myuser HttpS
  • 从 Android Studio 运行应用程序时,在 Gradle 任务 processManifest.doLast 中编辑 AndroidManifest.xml 无效

    我使用以下 Gradle 脚本在编译时对 AndroidManifest xml 进行一些修改 在这个例子中我想注入一个
  • TFS 团队构建日志单元测试结果

    我们正在使用 TFS 2010 Team Build 它会在构建过程中自动运行我们的单元测试 如果单击 查看日志 我可以看到运行的测试列表和每个测试结果 成功 失败 如果发生失败 我想查看测试结果输出 以便开发人员可以找出失败的原因是什么
  • 使用 extern 和 #include 头文件有什么区别?

    我开始质疑 extern 关键字的有用性 该关键字用于访问其他模块 其他文件中 中的变量 函数 当我们使用 include 预处理器导入带有变量 函数原型或函数 变量定义的头文件时 我们不是在做同样的事情吗 extern之所以需要 是因为它
  • javascript location.href onchange 事件监听器?

    我想在你离开页面时显示一条消息 不是烦人的警报 只是一些告诉你等待的html 在考虑它时我面临着某些困难 当用户按下 Stop 时 浏览器 取消导航离开 行动 我想要发送消息 离开 每当单击任何链接时 都会出现该消息 当单击的链接打开另一个
  • Windows 7 中“ruby.exe 未被识别为内部或外部命令”

    我的操作系统是Windows 7 我正要连接我的本地MySQL数据库与Heroku共享数据库 在某一时刻 我得到了libmysql dll文件丢失的错误 所以我搜索并下载了dll文件并将其保存在ruby中 bin 目录 当我再次准备连接时
  • 混合效应逻辑回归

    我正在尝试在 python 中实现混合效应逻辑回归 作为比较 我正在使用glmer函数从lme4R 中的包 我发现statsmodels模块有一个BinomialBayesMixedGLM应该能够适合这样的模型 然而 我遇到了很多问题 我找
  • QTimer线程亲和性

    在文档中它说 在多线程应用程序中 您可以使用QTimer在任何线程中 有一个事件循环 要从非 GUI 线程启动事件循环 请使用QThread exec Qt 使用定时器的线程亲和性来确定 哪个线程将发出timeout 信号 正因为如此 你
  • 位置:固定导致元素比浏览器宽

    谁能告诉我为什么position fixed会导致元素比浏览器或页面上的其他内容更宽并导致水平滚动 这是代码 超文本标记语言
  • 如果我想要像 bootstrap vue 和 vuetify 这样的 2 个 css 框架,请使用同一个项目

    我想要 2 个 CSS 框架使用我现有的 nuxtjs 项目 有人质疑为什么要使用 2 个 CSS 框架一个 vuejs 项目 回答这个问题 我想要我的网站网页版和移动版 我使用网页版是 boostrapvue 它对于网页版来说很棒 或者
  • 使用 FileManager.default.currentDirectoryPath 时,Swift 5.2 出现分段错误:11

    我有一个类似于以下内容的自定义 Swift 脚本 usr bin env xcrun sdk macosx swift import Foundation let path FileManager default currentDirect
  • 当两个路由指向同一模型时,设计资源名称出现问题

    我的 api v1 和 v2 有两条路由指向相同的 Devise 模型 路由如下 scope api do namespace v1 do devise for users controllers gt registrations gt d
  • 如何一次性设置所有formik值?

    我有一个formik用于编辑来自 API 端点的数据的表单 目前我正在重新初始化useEffect像这样挂钩 React useEffect gt initialValues first name address first name in