我有一个自定义钩子,可以以干净的方式获取数据。但是,我希望每次更改参数时都可以重新运行此挂钩。只能从上下文更改的地方更改参数。我不能将此自定义钩子放在useEffect中,还可以怎么做?
const Component = () => {
const { name } = useContext(NameContext);
const { deposit } = useContext(DepositContext);
const {
error: dbError,
loading: dbLoading,
data: dbData
} = useApi({
apiCall: queryDB,
param1: name,
param2: deposit
});
useEffect(() => {
console.log("context did update");
}, [name, deposit]);
return (
{dbLoading&& <h1>Loading</h1>}
{dbError&& <h1>Error</h1>}
{dbData && <h1>dbData.name</h1>}
)