React Context API 和 Hooks 有什么区别?
What's the difference between React Context API & Hooks?
据我了解,它们都处理状态。 Hooks 似乎更像是组件状态的内部,而 context api 似乎解决了 prop drilling 的问题,创建了一个更全局的状态?这是假的吗?我错过了什么?
非常感谢!
据我了解,它们的用例完全不同。上下文允许您将值深入组件树,其中值可以是任何类型的道具,比如颜色。通过以这种方式使用上下文,您可以避免在每个需要传递主题颜色的组件上执行 props.theme
。
另一方面,Hooks 取代了对 classes 的需要;相反,您创建一个函数,并且 useState
使您能够传递变量。 IE。 Hooks 允许你获取一个 React 函数组件并为其添加状态,并应用生命周期方法,如 componentDidMount 和 componentDidUpdate。这很有用,因为如果您发现您的函数需要状态,则无需将其重构为 class,您只需添加 Hooks 即可。 :) 当然,这种选择在开发人员中是有争议的。
据我了解,它们都处理状态。 Hooks 似乎更像是组件状态的内部,而 context api 似乎解决了 prop drilling 的问题,创建了一个更全局的状态?这是假的吗?我错过了什么?
非常感谢!
据我了解,它们的用例完全不同。上下文允许您将值深入组件树,其中值可以是任何类型的道具,比如颜色。通过以这种方式使用上下文,您可以避免在每个需要传递主题颜色的组件上执行 props.theme
。
Hooks 取代了对 classes 的需要;相反,您创建一个函数,并且 useState
使您能够传递变量。 IE。 Hooks 允许你获取一个 React 函数组件并为其添加状态,并应用生命周期方法,如 componentDidMount 和 componentDidUpdate。这很有用,因为如果您发现您的函数需要状态,则无需将其重构为 class,您只需添加 Hooks 即可。 :) 当然,这种选择在开发人员中是有争议的。