用于在函数组件中访问上下文(context)。上下文可以让你在组件树中传递数据,而不必通过每一层手动传递 props。useContext 提供了一种简洁的方式来使用上下文数据,并且可以让组件响应上下文的变化。

const value = useContext(SomeContext)

useContext 工作原理:

返回上下文值:useContext 会返回你传递的上下文对象的当前值。这是你在组件中使用上下文时最直接的结果。

查找上下文值:当你在组件中调用 useContext 时,React 会在组件树中向上搜索,找到最近的(离当前组件最近的)那个 Context.Provider,并使用该 Provider 提供的值。如果找到了这个 Provider,useContext 就会返回这个值。

上下文的继承:如果组件树中没有找到对应的 Provider,那么 useContext 会返回 React.createContext 创建上下文时定义的默认

https://codepen.io/xihoudamowang/pen/dyBjPEe