据我了解,它们都处理状态。挂钩似乎是组件状态的更内部组件,而上下文api似乎解决了prop钻探的问题,从而创建了更全局的状态?这是假的吗?我想念什么?
非常感谢!
答案 0 :(得分:1)
据我了解,它们具有完全不同的用例。上下文允许您将值传递到组件树的深处,该值可以是任何种类的道具,例如颜色。通过以这种方式使用上下文,可以避免在每个需要传递主题颜色的组件上进行props.theme
。
另一方面,钩子代替了对类的需要;而是创建一个函数,而useState
使您可以传入变量。即挂钩允许您获取React函数组件并为其添加状态,并应用生命周期方法,例如componentDidMount和componentDidUpdate。这很有用,因为如果您发现函数需要状态,则无需将其重构为类,只需添加Hooks。 :)当然,这种选择在开发人员中引起争议。