【发布时间】:2020-05-18 16:51:12
【问题描述】:
我定义了一个自定义钩子来执行一些操作并调用一些 API,如下所示
const useCustomHook = (param1,param2) => {
const response = callAPI(param1, param2 ){ .... }
return [callAPI, response]
}
我在某个地方使用了这个钩子,它也可以工作:例如
const [save ,response] = useCustomHook(param1,param2);
但是,我需要在不同的条件下使用不同的参数调用 save: 例如:
if (type===1)
const [save ,response] = useCustomHook(param1,'a');
else
const [save ,response] = useCustomHook(param1,'b');
但是,正如您所知,钩子不能有条件地调用,因此上述代码不会运行。
感谢任何想法。
【问题讨论】:
-
你没有在你的问题中说你在想什么条件?你刚才说通过不同的参数。你仍然可以使用条件,只是不要围绕实际的钩子调用,如 useState 或 useEffect
-
请提供更多上下文
-
抱歉耽搁了,我添加了一些上下文和示例。 @azium
-
做类似
const [save ,response] = useCustomHook(param1,type===1 ? 'a' : 'b'); -
不遗憾,因为类型值是在调用钩子后指定的。 @ZunaibImtiaz
标签: reactjs react-native react-hooks