Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在钩子中传递对象参数?_Javascript_Reactjs_React Hooks - Fatal编程技术网

Javascript 如何在钩子中传递对象参数?

Javascript 如何在钩子中传递对象参数?,javascript,reactjs,react-hooks,Javascript,Reactjs,React Hooks,如下所示,我将参数列表传递给useFunction;在useGetName函数中,出于某种原因,我需要控制参数“data”作为“item”,结果是循环更新 import React,{useState,useffect}来自“React”; 函数App(){ const[filter,setFilter]=useState([]); useffect(()=>{ const id=setTimeout(()=>{ setFilter([{值:}]); }, 1000); return()=>{

如下所示,我将参数列表传递给useFunction;在useGetName函数中,出于某种原因,我需要控制参数“data”作为“item”,结果是循环更新

import React,{useState,useffect}来自“React”;
函数App(){
const[filter,setFilter]=useState([]);
useffect(()=>{
const id=setTimeout(()=>{
setFilter([{值:}]);
}, 1000);
return()=>{
清除超时(id);
};
}, []);
常数列表=[
{
名称:“a”,
值:过滤器
}
];
返回{useGetName(list)};
}
函数useGetName(数据){
const[item,setItem]=useState(数据);
useffect(()=>{
//出于某种原因,我需要控制参数“data”作为“item”
控制台日志(“数据”,数据);
设置项(数据);
},[数据];
返回(
{
控制台日志(“项”,项);
}}
>
点击我
);
}
导出默认应用程序;
我固定的方式如下:


useffect(()=>{
控制台日志(“数据”,数据);
设置项(数据);
},[JSON.stringify(数据)];//JSON.stringify

如何修复它?谢谢

欢迎来到SO
useGetName
对我来说没什么意义。首先,将道具转储到状态是一种反模式,其次,
useffect
似乎没有做任何需要它存在的异步操作。你能详细说明一下你想用这段代码实现什么吗?谢谢不管将道具完全转储到useState钩子问题中(这是不必要的),将对象传递到自定义钩子并使用useEffect钩子查看所述对象似乎会导致无限循环。考虑悬赏。