JS 监听配置项改变

@Ta 2022-02-11发布,2022-02-11修改 2257点击

项目是 React,有一个复杂的表单,包含几十项配置项(含有 input radio textarea select 这些)

配置项是一个 object,类似于:

{
  "options1": {
    "children_1": false,
    "children_2": "qrhusajkfkjahsfhjkshkjjkasfsajk",
    "children_3": [{"key":"12", "value": "sfsfsd"}, {"key":"12", "value": "sfsfsd"}, {"key":"12", "value": "sfsfsd"}]
    // more....
  },
  "options2": {// more options...},
  //....
}

哪种方式检测有没有变更最好(性能方面)?

  • 实时监听,如使用:Proxy
  • 添加定时器,如 1s 检测一次,当前值 对比 初始值

检测到变更后,需要按照上述 object 格式发送到后端

回复列表(4|隐藏机器人聊天)
  • @Ta / 2022-02-11 / /
    VUE 双向
  • @Ta / 2022-02-11 / /

    用useEffect或者生命周期
    红米K30 Pro(变焦版)

  • @Ta / 2022-02-11 / /

    数据变化肯定是来自元素操作呢

    从元素操作上入手吧

    性能上肯定是Proxy最好,但是兼容性不好。
    退而其次试试 Object.defineProperties

    小米MIX2s(白)

  • @Ta / 2022-02-12 / /

    @大尨,跨组件了,不好操作

    @Curtion,useEffect 还是 useState

    @水木易安,OK,了解了

添加新回复
回复需要登录