【发布时间】:2021-10-17 06:41:23
【问题描述】:
我知道如何在类组件中使用钩子的一种方法是拥有一个返回函数组件的 HOC,在其中我们可以调用钩子并将 prop 传递给类组件。查看How can I use React hooks in React classic `class` component? 并由 Joel Cox 回答。
现在问题来了,以https://reactjs.org/docs/hooks-custom.html#using-a-custom-hook 为例,考虑我们有一个钩子 useFriendStatus 接受一个朋友 ID,具有订阅该朋友的在线状态并在每次重新渲染时清理的效果,所以对于新的friendID,钩子可以订阅新的friendID。
function useFriendStatus(friendID) {
const [isOnline, setIsOnline] = useState(null);
// Effect to subscribe to online status of friendID and unsubscribe on re-render
return isOnline;
}
类组件可以使用这样的钩子吗?在 HOC 模式中,我们利用了 hook 的挂载周期。我们可以利用 React 类组件中钩子的重新渲染吗?
【问题讨论】:
-
钩子仅用于功能组件。类组件通过 HOC 模式或渲染道具有自己的抽象逻辑方式。
标签: javascript reactjs react-hooks