Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 反应-何时使用挂钩,何时使用HOCs_Javascript_Reactjs_React Native - Fatal编程技术网

Javascript 反应-何时使用挂钩,何时使用HOCs

Javascript 反应-何时使用挂钩,何时使用HOCs,javascript,reactjs,react-native,Javascript,Reactjs,React Native,什么时候我们应该在HOC上使用钩子,在React中HOC应该在钩子上使用钩子 例如,我完全可以有一个钩子来管理身份验证状态,然后在组件中使用它。。。但是我也可以有一个HOC来管理auth状态,并使用它的逻辑包装组件 所以。。。有什么规则可以知道您对实现HOC或hook感兴趣吗?为什么要使用HOC? 当您希望将其他行为注入现有组件时,HOC非常有用。您可以使用HOC注入: 反应生命周期(例如,在componentWillMount中执行代码) 陈述 (例如,react redux的连接)3 组件

什么时候我们应该在HOC上使用钩子,在React中HOC应该在钩子上使用钩子

例如,我完全可以有一个钩子来管理身份验证状态,然后在组件中使用它。。。但是我也可以有一个HOC来管理auth状态,并使用它的逻辑包装组件


所以。。。有什么规则可以知道您对实现HOC或hook感兴趣吗?

为什么要使用HOC?

当您希望将其他行为注入现有组件时,HOC非常有用。您可以使用HOC注入:

  • 反应生命周期(例如,在componentWillMount中执行代码)
  • 陈述 (例如,react redux的连接)3
  • 组件(父组件、子组件) 组件(同级组件)样式
为什么要做出反应?


如果您编写了一个函数组件,然后希望向其添加一些状态,那么之前您可以通过将其转换为类来实现这一点。但是,现在您可以通过在现有功能组件中使用钩子来实现这一点。

用HOC注入状态和在组件中使用钩子有什么区别?我的意思是,在这两种情况下,逻辑都在组件之外。我的意思是,将状态管理移动到自定义挂钩和HOC的区别。我认为这可能是一本不错的读物