当前位置: 首页 > 知识库问答 >
问题:

javascript - React中useMemo的问题,怎么传参无效呢?

燕照
2024-05-31

React中useMemo的问题,怎么传参无效呢?

    const onCellChange = useMemo((value, type, idx) => {        console.log("77777",sortRuleList)  //这个渲染出来是有值的,但是怎么无法传给tmpFunc函数呢?        const tmpFunc = (value, type, idx,sortRuleList) => {                const arr = sortRuleList                  console.log("99999",sortRuleList) //为什么打印出来是空                if(type == 'sortTypeCode'){                    arr[idx]['sortTypeCode'] = value                    sortbyArr.forEach((ele) => {                        if (ele.value == value) {                            arr[idx]['sortType'] = ele.label                        }                    })                }                if(type == 'orderType'){                    arr[idx]['orderType'] = value                }                setSortRuleList(arr)            }        return tmpFunc     },[sortRuleList])

React中useMemo的问题,怎么传参无效呢?

共有1个答案

丌官炎彬
2024-05-31

问题原因是:

上层sortRuleList(那个有值)的变量,被你函数里面的sortRuleList形参覆盖了。

解决办法

(value, type, idx,sortRuleList) => {...} 改成 (value, type, idx) => {...}
 类似资料:
  • 为什么clearinterval不生效? react的项目,在函数组件中定义了定时器容器: 想通过鼠标移入控制定时器启停 于是定义了

  • 接口传参的时候需要给后端传的参数是数组 大概是这样的: 在这弹窗里面,点击弹窗下面的保存按钮调接口,需要把每一行的单位代码和总人口作为参数传过去,还要判断一下id,这条数据有id的话就传id,没有id的话就不传id 只传单位代码和总人口 请问接口传参应该怎么传多维数组,把每一行的单位代码和总人口传给后端,还有判断id应该怎么去操作呢?

  • 前端项目安全问题: 安全部门不知道用什么工具扫了下前端代码,说有高危代码,代码如下: 片段一: const e = ev || window.event const { data } = e 被标记的是 data,安全提示是:第 214 行中发生了不安全对象分配。在没有验证的情况下分配外部属性可能会导致对象属性污染并影响应用程序的正常行为。 片段二: const url = window.loca

  • 本文向大家介绍在React中怎么将参数传递给事件?相关面试题,主要包含被问及在React中怎么将参数传递给事件?时的应答技巧和注意事项,需要的朋友参考一下 如果使用箭头函数声明函数,调用方式: 不传参:this.func1,如果不传参,事件参数默认会自己添加上 传参: (e) => {this.func1(e,'param1', 'param2')},如果传参,事件参数需要手动传递过来 如果不用箭

  • react项目build之后的index.html有问题,怎么解决? 用create-react-app创建的项目,想要学习下打包上线,npm run start的时候是没问题的,可以正常原型,npm run build生成了文件夹build,打开build中的静态文件index.html,能够引用到对应的js文件和css文件,但是空白,控制台报了这个错误 打开audit.js文件是报了这句错误

  • 小程序模板中怎么传递参数,在JS文件中因为有其他地方传递了type所以方法这边改不了,模板中不能直接传递参数吗?查了文档说可以用data-type,那方法那边接参应该怎么写呢?谢谢 小程序模板中怎么传递参数?