那是正确的。他们将做基本相同的事情。
在我看来,该useContext
钩子具有更好的可读性语法。
从React Docs:
https://reactjs.org/docs/hooks-reference.html#usecontext
useContext
const value = useContext(MyContext); 接受一个上下文对象(从React.createContext返回的值)并返回该上下文的当前上下文值。当前上下文值由树中调用组件上方最接近的值prop决定。
当组件上方最接近的位置更新时,此Hook将触发重新渲染,并将最新的上下文值传递给该MyContext提供程序。
同样来自React Docs:
https://reactjs.org/docs/context.html
上下文消费者
{value => /* render something based on the context value */} 订阅上下文更改的React组件。这使您可以订阅功能组件中的上下文。
更新:
来自: http : //brianyang.com/react-hooks-a-deeper-dive-featuring-usecontext-and-usereducer/
useContext
消费上下文的新钩子不会更改围绕上下文的概念,因此会出现上述情况。此上下文挂钩仅为我们提供了一种额外的,更漂亮的方式来使用上下文。将其应用于消耗多个上下文的组件时,它非常有用。