【发布时间】:2021-02-23 03:22:22
【问题描述】:
我有一个 customHook,我需要在两个地方调用它。一个是在组件的顶层。另一个地方是一个按钮的 onclick 函数,这个按钮是一个刷新按钮,它调用 customHook 来获取新数据,如下所示。我正在考虑两种方法:
-
为数据创建状态,在组件中调用hook并设置数据状态,在onclick函数中,调用hook并设置数据状态。但是,在这种情况下,不能在另一个函数中调用该钩子,即 onclick。
-
创建一个称为触发器的布尔状态,每次单击按钮时,切换触发器状态并将触发器状态传递到依赖列表中的 myCallback 以便重新创建 myCallback 函数,并调用挂钩。但是,我真的不需要在回调函数中使用这个触发状态,并且钩子给了我删除不必要的依赖的错误。我真的很喜欢这个想法,但是有没有办法克服这个问题?
-
或者有没有其他方法可以实现这个目标?
const MyComponent = () => { const myCallback = React.useCallback(() => { /*some post processing of the data*/ }, []); const data = customHook(myCallback); return <SomeComponent data={data}> <button onclick={/*???*/}></button> </SomeComponent>; };
【问题讨论】:
标签: reactjs react-hooks