如何在函数中使用自定义钩子?



我尝试在函数中使用我的钩子,但它不起作用,所以现在我尝试发送一个回调函数来重置钩子参数,但它仍然不起作用。

如何使此自定义钩子在我的情况下工作?

const del = useFetch(null);
const handleDelete = id => {
del.setParams({
hookUrl: "https://localhost:44354/api/car/" + id, 
hookOptions: {}
});
console.log(del.response);
};

钩子对 GETS 工作正常,因为我没有任何其他行为要做,但对于删除,我需要弹出一个模式,例如,我知道我可以直接使用获取,但只是好奇。

import React from "react";
const useFetch = (url, options) => {
debugger;
const [params, setParams] = React.useState({
hookUrl: url,
hookOptions: options
});
const [response, setResponse] = React.useState(null);
const [error, setError] = React.useState(null);
React.useEffect(() => {
const fetchData = async () => {
try {
const res = await fetch(params.hookUrl, params.hookOptions);
const json = await res.json();
setResponse(json);
} catch (error) {
setError(error);
}
};
fetchData();
}, []);
return { setParams, response, error };
};
export default useFetch;
  1. 不能在函数中使用钩子。
  2. 您正在使用 setParams (setState 以错误的方式(:
const handleDelete = id => {
del.setParams({
hookUrl: "https://localhost:44354/api/car/" + id, 
hookOptions: {}
});
console.log(del.response);
};

相关内容

  • 没有找到相关文章

最新更新